Sistem Absensi Dan Laporan Penggajian

Penggunaan Fungsi Filter pada Pemograman PHP

PHP Filter Ekstensi

Filter PHP digunakan untuk memvalidasi dan mendesinfeksi masukan eksternal. Ekstensi PHP Filter memiliki banyak fungsi yang dibutuhkan 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/diberikan ekstensi PHP filter.

Contoh :

<!DOCTYPE html>
<html>
<head>
<style>
table, th, td {
     border: 1px solid black;
     border-collapse: collapse;
}
th, td {
     padding: 5px;
}
</style>
</head>
<body>
<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>
</body>
</html>

Mengapa Gunakan Filter pada PHP?

Anda harus selalu memvalidasi data eksternal! Data yang disampaikan tidak valid dapat menyebabkan masalah keamanan dan istirahat halaman web Anda!Dengan menggunakan filter PHP Anda dapat yakin aplikasi Anda mendapatkan input yang benar! Banyak aplikasi web menerima External input. External Input / data berupa:
1. Input pengguna dari formulir
2. cookies
3. Data layanan Web
4. variabel Server
5. Hasil query database

Fungsi filter_var ()

Fungsi filter_var () untuk memvalidasi dan mendesinfeksi data. Fungsi filter_var () merupakan filter variabel tunggal dengan filter tertentu. Contoh berikut menggunakan filter_var () untuk menghapus semua tag HTML dari string:

<!DOCTYPE html>
<html>
<body>

<?php
$str = "<h1>Hello World!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>
</body>
</html>

Hasilnya:

Hello World!

Memvalidasi Integer

Contoh berikut menggunakan filter_var () untuk memeriksa apakah variabel $ int adalah bilangan bulat. Jika $ int adalah bilangan bulat, output dari kode di atas akan menjadi: "Integer berlaku". Jika $ int bukan integer, output akan: "Integer tidak valid":
<!DOCTYPE html>
<html>
<body>
<?php
$int = 100;
if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
     echo("Integer is valid");
} else {
     echo("Integer is not valid");
}
?>
</body>
</html>

Hasilnya:

Integer is valid

Fungsi filter_var () dan Masalah Dengan 0

Dalam contoh di atas, jika $ int ditetapkan untuk 0, fungsi di atas akan kembali "Integer tidak sah". Untuk mengatasi masalah ini, gunakan kode di bawah ini:
<!DOCTYPE html>
<html>
<body>
<?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");
}
?>
</body>
</html>

Hasilnya:

Integer is valid

Validasi IP Address
Contoh berikut menggunakan fungsi filter_var () untuk memeriksa apakah variabel $ ip adalah alamat IP yang valid:
<!DOCTYPE html>
<html>
<body>
<?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");
}
?>
</body>
</html>

Hasilnya :

127.0.0.1 is a valid IP address

Mendesinfeksi dan Validasi Alamat Email

Contoh berikut menggunakan Fungsi filter_var ()  untuk menghapus semua karakter ilegal dari variabel $ email, kemudian memeriksa apakah itu adalah alamat email yang valid:
<!DOCTYPE html>
<html>
<body>
<?php
$email = "john.doe@example.com";

// 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");
}
?>
</body>
</html>

Hasilnya :

john.doe@example.com is a valid email address

Mendesinfeksi dan Validasi URL

Contoh berikut menggunakan Fungsi filter_var () untuk menghapus semua karakter ilegal dari URL, kemudian memeriksa apakah $ url adalah URL yang valid:
<!DOCTYPE html>
<html>
<body>
<?php
$url = "http://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");
}
?>
</body>
</html>

Hasilnya :

http://www.w3schools.com is a valid URL

Memvalidasi Integer Dalam Range
Contoh berikut menggunakan filter_var () fungsi untuk memeriksa apakah suatu variabel kedua tipe INT, dan antara 1 dan 200:
<!DOCTYPE html>
<html>
<body>
<?php
/* variable to check */
$int = 122;
/* min value */
$min = 1;
/* max value */
$max = 200;
if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) {
     echo("Nilai Variabel berada dalam range");
} else {
     echo("Nilai Variabel berada dalam range ");
}
?>
</body>
</html>

Hasilnya :

Nilai Variabel berada dalam range

Hapus Karakter Dengan Nilai ASCII> 127

Contoh berikut menggunakan fungsi filter_var ()untuk membersihkan string. Ini akan menghapus semua tag HTML, dan semua karakter dengan nilai ASCII> 127, dari string:
<!DOCTYPE html>
<html>
<body>
<?php
// Variable to check
$str = "<h1>Hello WorldÆØÅ!</h1>";
// Remove HTML tags and all characters with ASCII value > 127
$newstr = filter_var($str, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
echo $newstr;
?>
</body>
</html>

Hasilnya :


No comments:

Post a Comment