در گام قبلی با اصول بررسی اعتبار داده ها در پی اچ پی آشنا شدید، در این قسمت چند نمونه کد برای بررسی اعتبار ارائه می کنیم.
محدوده یک عدد صحیح را تایید کنید
مثال زیر از تابع filter_var برای بررسی اینکه آیا متغیر هر دو نوع INT است و بین 1 و 200:
<?php
$int = 122;
$min = 1;
$max = 200;
if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) {
echo("Variable value is not within the legal range");
} else {
echo("Variable value is within the legal range");
}
?>
بررسی درستی آدرس IPv6
مثال زیر از تابع filter_var برای بررسی اینکه آیا متغیر ip آدرس IPv6 معتبر است استفاده می شود:
<?php
$ip = "2001:0db8:85a3:08d3:1319:8a2e:0370:7334";
if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === false) {
echo("$ip is a valid IPv6 address");
} else {
echo("$ip is not a valid IPv6 address");
}
?>
بررسی اعتبار URL – که باید شامل QueryString باشد
مثال زیر از تابع filter_var برای بررسی اینکه متغیر url یک URL با querystring است کاربرد دارد:
<?php
$url = "https://www.w3schools.com";
if (!filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) {
echo("$url is a valid URL");
} else {
echo("$url is not a valid URL");
}
?>
حذف کاراکتر با مقدار کد اسکی بزرگتر از 127
مثال زیر از تابع filter_var برای پالایش یک رشته استفاده می کند. این دستورات هم تگ های HTML را از رشته حذف می کند و هم تمام کاراکترهایی با کد اسکی بزرگتر از 127 را .
<?php
$str = "<h1>Hello WorldÆØÅ!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
echo $newstr;
?>