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