Media Belajar Coding untuk Developer Indonesia

Ruang Coding

Media belajar online bareng untuk mengembangkan keahlianmu di bidang pemrograman web dan aplikasi smartphone.

138+Member Aktif
5+Artikel & Tutorial
16+Project Siap Pakai
Kenapa Formmu Rawan Dibobol? Kenalan Validasi CI

Pernah nggak sih kamu isi form pendaftaran online, terus iseng masukin angka di kolom "Nama Lengkap"? Kalau website itu tetap menerima data ngasal seperti itu tanpa protes, sebenarnya itu tanda bahaya besar — dan bisa jadi celah yang dimanfaatkan orang jahat untuk merusak sistem.

Menurut laporan OWASP (organisasi keamanan aplikasi web terkenal), input yang tidak divalidasi masuk dalam daftar celah keamanan paling sering dieksploitasi di dunia. Bayangkan, hal sesepele "lupa cek data yang masuk" bisa berujung data bocor atau server down. Nah, di CodeIgniter, ada fitur bawaan bernama Form Validation yang bisa jadi "satpam" buat menyaring data sebelum masuk ke sistemmu.

Analogi Sederhana: Satpam di Pintu Gerbang

Coba bayangkan sebuah kompleks perumahan. Setiap tamu yang masuk harus lapor ke satpam, tunjukkan KTP, dan kasih tahu mau ke rumah siapa. Kalau data nggak lengkap atau mencurigakan, satpam berhak menolak tamu itu masuk.

Validasi data di aplikasi web kerjanya persis begitu. Setiap data yang dikirim user lewat form — entah itu nama, email, atau password — harus "diperiksa" dulu sebelum diizinkan masuk ke database. Kalau nggak ada satpam alias validasi, siapa saja bisa masuk seenaknya, termasuk yang berniat jahat.

Kenapa Validasi Data Itu Wajib, Bukan Opsional

Banyak pemula mikir validasi cuma buat mastiin form nggak kosong. Padahal fungsinya jauh lebih penting dari itu. Tanpa validasi, aplikasi rentan kena serangan seperti SQL Injection (menyisipkan kode berbahaya lewat kolom input) atau sekadar data sampah yang bikin database berantakan.

Selain soal keamanan, validasi juga soal pengalaman pengguna. Pernah kesel nggak waktu submit form terus muncul error yang nggak jelas maksudnya apa? Validasi yang baik justru membantu user tahu persis kesalahan mereka di mana, jadi nggak bikin frustrasi.

Cara Kerja Form Validation di CodeIgniter

CodeIgniter sudah menyediakan library khusus bernama Form Validation yang bisa dipanggil langsung di controller. Kamu tinggal menentukan aturan (disebut rules) untuk setiap kolom input, misalnya wajib diisi, harus berupa email, atau minimal 8 karakter.

public function daftar()
{
    $validation = \Config\Services::validation();

    $validation->setRules([
        'nama'     => 'required|min_length[3]',
        'email'    => 'required|valid_email',
        'password' => 'required|min_length[8]',
    ]);

    if (!$validation->withRequest($this->request)->run()) {
        return redirect()->back()->withInput()->with('errors', $validation->getErrors());
    }

    // Data aman, lanjut simpan ke database
}

Perhatikan baris setRules di atas. Di situ kita bilang ke CodeIgniter: "Tolong pastikan kolom nama minimal 3 huruf, email harus format email valid, dan password minimal 8 karakter." Kalau salah satu aturan dilanggar, sistem otomatis menolak dan kasih pesan error yang jelas.

Aturan Validasi yang Paling Sering Dipakai

  • required — kolom wajib diisi, nggak boleh kosong.
  • valid_email — memastikan format email benar (ada @ dan domain).
  • min_length[x] / max_length[x] — membatasi panjang minimal atau maksimal karakter.
  • numeric — hanya menerima angka, cocok untuk kolom seperti nomor telepon.
  • matches[field] — berguna untuk mencocokkan dua kolom, misalnya password dan konfirmasi password.

Jangan Cuma Andalkan Validasi di Browser

Sering kita lihat form yang sudah kasih tanda merah kalau ada kolom kosong — itu validasi di sisi browser (client-side) pakai JavaScript atau HTML5. Kelihatannya cukup, tapi sebenarnya itu gampang banget dilewati. Orang yang paham teknis bisa mematikan JavaScript atau langsung mengirim data lewat cara lain, melewati form sama sekali.

Makanya, validasi di server (seperti yang dilakukan CodeIgniter di atas) itu wajib hukumnya, bukan pelengkap. Anggap saja validasi browser itu "penjaga di lobi" yang ramah tapi gampang dilewati, sedangkan validasi server adalah "satpam utama" yang benar-benar menahan siapa saja yang mencoba masuk tanpa izin.

Yuk, Mulai Biasakan Validasi di Setiap Form

Menambahkan validasi memang terasa seperti kerjaan ekstra waktu ngoding, apalagi kalau lagi buru-buru. Tapi ingat, satu form tanpa validasi bisa jadi celah besar yang menyusahkan di kemudian hari — baik dari sisi keamanan maupun kerapian data.

Coba deh sekarang buka project CodeIgniter kamu, cek form-form yang sudah dibuat, dan tanyakan ke diri sendiri: "Data apa saja yang saya terima di sini, dan sudah divalidasi dengan benar belum?" Kalau belum, inilah saatnya mulai praktik. Keamanan aplikasi itu dibangun dari hal-hal kecil seperti ini, lho.


Komentar (0)

Copyright © 2026 — Made with by Ruang Coding