بيانات التحقق من صحة = تحديد ما إذا كانت البيانات في شكل سليم.
التعقيم البيانات = إزالة أي حرف غير الشرعيين من البيانات.
تمديد PHP تصفية
وتستخدم مرشحات PHP للتحقق من صحة وتطهير المدخلات الخارجية.
تمديد PHP فلتر له العديد من الوظائف اللازمة لفحص مدخلات المستخدم، ويهدف إلى جعل التحقق من صحة البيانات أسهل وأسرع.
و filter_list() وظيفة يمكن استخدامها لإدراج ما يقدم تمديد PHP فلتر:
مثال
<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>
تشغيل المثال » لماذا استخدام الفلاتر؟
تتلقى العديد من تطبيقات الويب المدخلات الخارجية. يمكن إدخال الخارجية / البيانات على النحو التالي:
- إدخال المستخدم من شكل
- Cookies
- خدمات البيانات على شبكة الإنترنت
- متغيرات الخادم
- نتائج الاستعلام قاعدة البيانات
يجب عليك دائما التحقق من صحة البيانات الخارجية!
يمكن أن البيانات المقدمة غير صحيحة يؤدي إلى مشاكل أمنية وكسر صفحة الويب الخاصة بك!
باستخدام مرشحات PHP يمكنك التأكد من التطبيق الخاص بك يحصل على الإدخال الصحيح!
PHP filter_var() وظيفة
و filter_var() وظيفة كل من التحقق من صحة وتطهير البيانات.
و filter_var() وظيفة تصفية متغير واحد مع مرشح محدد. فإنه يأخذ قطعتين من البيانات:
- المتغير الذي تريد التحقق
- نوع الاختيار لاستخدام
تطهير سلسلة
يستخدم المثال التالي filter_var() وظيفة لإزالة كافة العلامات HTML من سلسلة:
مثال
<?php
$str = "<h1>Hello World!</h1>";
$newstr
= filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>
تشغيل المثال » التحقق من صحة صحيح
يستخدم المثال التالي filter_var() وظيفة لمعرفة ما اذا كان $ الباحث المتغير هو عدد صحيح. إذا $ كثافة العمليات هو عدد صحيح، والناتج من التعليمات البرمجية أعلاه سيكون: "Integer is valid" . إذا $ الباحث ليس صحيحا، سوف يكون الإخراج: "Integer is not valid" :
مثال
<?php
$int = 100;
if (!filter_var($int, FILTER_VALIDATE_INT) ===
false) {
echo("Integer is valid");
} else {
echo("Integer is not
valid");
}
?>
تشغيل المثال » نصيحة: filter_var() والمشكلة مع 0
في المثال أعلاه، إذا تم تعيين $ الباحث إلى 0، وظيفة فوق سيعود "Integer is not valid" . لحل هذه المشكلة، استخدم رمز أدناه:
مثال
<?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");
}
?>
تشغيل المثال » التحقق من صحة عنوان IP
يستخدم المثال التالي filter_var() وظيفة لمعرفة ما اذا كان $ الملكية الفكرية المتغير هو عنوان IP صالح:
مثال
<?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");
}
?>
تشغيل المثال » تطهير والتحقق من صحة عنوان البريد الإلكتروني
يستخدم المثال التالي filter_var() وظيفة أولا إزالة كافة الأحرف غير المشروعة من المتغير $ البريد الإلكتروني، ثم معرفة ما اذا كان هو عنوان بريد إلكتروني صالح:
مثال
<?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");
}
?>
تشغيل المثال » تطهير والتحقق من صحة عنوان URL
يستخدم المثال التالي filter_var() وظيفة أولا إزالة كافة الأحرف غير قانونية من URL، ثم معرفة ما اذا كان $ رابط هو URL صحيح:
مثال
<?php
$url = "http://www.w3ii.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");
}
?>
تشغيل المثال » PHP الكامل تصفية المرجعي
للإشارة كاملة لجميع وظائف فلتر، انتقل إلى لدينا كامل PHP تصفية المرجعي. التحقق من كل مرشح لنرى ما هي الخيارات والأعلام المتاحة.
وتتضمن إشارة وصفا موجزا، وأمثلة من الاستخدام، لكل وظيفة!