PHP Filters menggunakan fungsi filter_var

Filter PHP digunakan untuk memvalidasi dan mengamankan inputan dari form.

Validating data = Menentukan apakah data dalam bentuk yang benar.
Sanitizing data = Hapus karakter yang tidak diinginkan dari data.

filter PHP memiliki banyak fungsi yang diperlukan untuk memeriksa input pengguna, dan dibuat ntuk validasi data lebih mudah dan cepat.

Fungsi filter_list () dapat digunakan untuk melihat daftar apa saja yang ada pada fungsi filter.

<table>
<tr>
<td>Name</td>
<td>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:

-Inputan dari form
-Cookie
-Data layanan web
-Variabel server
-Hasil query dari database

Kita harus selalu memvalidasi data yang masuk!
Data yang dikirimkan tidak valid dapat menyebabkan masalah keamanan pada web!
Dengan menggunakan PHP filter , kita dapat memastikan aplikasi mendapatkan inputan yang aman!

PHP filter_var():

Fungsi filter_var() dapat memvalidasi dan membersihkan data.

Sanitasi String
Contoh untuk menghapus tag html pada inputan

<?php
$str = "<h1>Hello!</h1>";
$newhello = filter_var($str, FILTER_SANITIZE_STRING);
echo $newhello;
//akan menghasilkan hello
?>

Memvalidasi angka

<?php
$angka = 1;
if (!filter_var($angka, FILTER_VALIDATE_INT) === false) {
    echo("Angka valid");
} else {
    echo("Angka tidak valid");
}
?>

filter_var() dan Masalah dengan 0

pada percobaan sebelunya jika $angka di set 0 fungsi akan memunculkan pesan “Angka tidak valid” untuk mengatasi masalah ini gunakan kode dibawah contohnya:

<?php
$angka = 0;
if (filter_var($angka, FILTER_VALIDATE_INT) === 0 || !filter_var($angka, FILTER_VALIDATE_INT) === false) {
    echo("Angka valid");
} else {
    echo("Angka tidak valid");
}
?>

Jika script dijalankan akan menghasilkan “Angka valid” karena disini kita menggunakan operator || atau biasa disebut “atau”.

Related posts

Leave a Comment