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 :
Hello World
Pelajari Juga tutorial PHP Data Object lainnya berikut ini ;
Pelajari Juga tutorial PHP Data Object lainnya berikut ini ;
No comments:
Post a Comment