PHP Filter Function: Validasi dan Sanitasi Data

Memvalidasi dan menyanitasi input pengguna adalah keharusan demi keamanan. PHP menyediakan cara standar untuk ini melalui PHP Filter Function, terutama filter_var() dan filter_input(). Artikel ini merangkum filter yang paling berguna.

Dua Jenis Filter

Ada dua kategori: filter validasi (memeriksa format, diawali FILTER_VALIDATE_) dan filter sanitasi (membersihkan data, diawali FILTER_SANITIZE_).

Filter Validasi

<?php
// mengembalikan nilai jika valid, atau false jika tidak
filter_var("budi@contoh.com", FILTER_VALIDATE_EMAIL);
filter_var("https://situs.com", FILTER_VALIDATE_URL);
filter_var("123", FILTER_VALIDATE_INT);
filter_var("3.14", FILTER_VALIDATE_FLOAT);
?>

Contoh penggunaan dalam kondisi:

<?php
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "Email valid";
}
?>

Filter Sanitasi

<?php
$email = filter_var($input, FILTER_SANITIZE_EMAIL);
$teks  = filter_var($input, FILTER_SANITIZE_SPECIAL_CHARS);
$angka = filter_var($input, FILTER_SANITIZE_NUMBER_INT);
?>

Mengambil Langsung dari Input

Fungsi filter_input() lebih aman karena mengambil sekaligus memfilter data superglobal:

<?php
$umur = filter_input(INPUT_POST, "umur", FILTER_VALIDATE_INT);
$email = filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL);
?>

Tabel Filter Populer

FilterKegunaan
FILTER_VALIDATE_EMAILValidasi email
FILTER_VALIDATE_INTValidasi bilangan bulat
FILTER_VALIDATE_URLValidasi URL
FILTER_SANITIZE_SPECIAL_CHARSAmankan karakter khusus

Kesimpulan

PHP Filter Function menyederhanakan validasi dan sanitasi tanpa regex rumit. Jadikan filter_var() dan filter_input() kebiasaan setiap kali menangani input dari pengguna.

Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *