Filter PHP
Memvalidasi data = Menentukan apakah data dalam bentuk yang benar.
Sanitasi data = Hapus semua karakter ilegal dari data.
Ekstensi Filter PHP
Filter PHP digunakan untuk memvalidasi dan membersihkan input eksternal.
Ekstensi filter PHP memiliki banyak fungsi yang diperlukan untuk memeriksa input pengguna, dan dirancang untuk membuat validasi data lebih mudah dan lebih cepat.
Fungsi filter_list()
ini dapat digunakan untuk membuat daftar apa yang ditawarkan oleh ekstensi filter PHP:
Contoh
<table>
<tr>
<td>Filter Name</td>
<td>Filter ID</td>
</tr>
<?php
foreach (filter_list() as $id =>$filter) {
echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';
}
?>
</table>
Mengapa Menggunakan Filter?
Banyak aplikasi web menerima input eksternal. Input/data eksternal dapat berupa:
- Masukan pengguna dari formulir
- Kue
- data layanan web
- Variabel server
- Hasil kueri basis data
Anda harus selalu memvalidasi data eksternal!
Data yang dikirimkan tidak valid dapat menyebabkan masalah keamanan dan merusak halaman web Anda!
Dengan menggunakan filter PHP, Anda dapat memastikan aplikasi Anda mendapatkan input yang benar!
PHP filter_var () Fungsi
Fungsinya memvalidasi dan filter_var()
membersihkan data.
Fungsi filter_var()
memfilter satu variabel dengan filter tertentu. Dibutuhkan dua bagian data:
- Variabel yang ingin Anda periksa
- Jenis cek yang digunakan
Sanitasi sebuah String
Contoh berikut menggunakan filter_var()
fungsi untuk menghapus semua tag HTML dari string:
Contoh
<?php
$str = "<h1>Hello World!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>
Validasi sebuah Integer
Contoh berikut menggunakan filter_var()
fungsi untuk memeriksa apakah variabel $int adalah bilangan bulat. Jika $int adalah integer, maka output dari kode di bawah ini adalah: "Integer is valid". Jika $int bukan integer, outputnya adalah: "Integer is not valid":
Contoh
<?php
$int = 100;
if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Integer is valid");
} else {
echo("Integer is not valid");
}
?>
Tip: filter_var() dan Masalah Dengan 0
Pada contoh di atas, jika $int disetel ke 0, fungsi di atas akan mengembalikan "Bilangan bulat tidak valid". Untuk mengatasi masalah ini, gunakan kode di bawah ini:
Contoh
<?php
$int = 0;
if (filter_var($int, FILTER_VALIDATE_INT) === 0 || !filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Integer is valid");
} else {
echo("Integer is not valid");
}
?>
Validasi Alamat IP
Contoh berikut menggunakan filter_var()
fungsi untuk memeriksa apakah variabel $ip adalah alamat IP yang valid:
Contoh
<?php
$ip = "127.0.0.1";
if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
echo("$ip is a valid IP address");
} else {
echo("$ip is not a valid IP address");
}
?>
Sanitasi dan Validasi Alamat Email
Contoh berikut menggunakan filter_var()
fungsi untuk menghapus semua karakter ilegal terlebih dahulu dari variabel $email, lalu memeriksa apakah itu alamat email yang valid:
Contoh
<?php
$email = "[email protected]";
// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
// Validate e-mail
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
echo("$email is a valid email address");
} else {
echo("$email is not a valid email address");
}
?>
Sanitasi dan Validasi URL
Contoh berikut menggunakan filter_var()
fungsi untuk menghapus semua karakter ilegal dari URL terlebih dahulu, lalu memeriksa apakah $url adalah URL yang valid:
Contoh
<?php
$url = "https://www.w3schools.com";
// Remove all illegal characters from a url
$url = filter_var($url, FILTER_SANITIZE_URL);
// Validate url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
echo("$url is a valid URL");
} else {
echo("$url is not a valid URL");
}
?>
Referensi Filter PHP Lengkap
Untuk referensi lengkap semua fungsi filter, buka Referensi Filter PHP lengkap kami. Periksa setiap filter untuk melihat opsi dan tanda apa yang tersedia.
Referensi berisi deskripsi singkat, dan contoh penggunaan, untuk setiap fungsi!