
توی دوره رایگان PHP، هر چیزی که برای حرفهای شدن نیاز داری رو یاد میگیری! از مفاهیم پایه تا پیشرفته، همراه با یه پروژه واقعی برای ساخت یه سایت مثل آپارات.
مشاهده بیشتر
توی این دوره با هم یه وبسایت خبری واقعی رو از صفر میسازیم! از طراحی دیتابیس و احراز هویت تا ساخت API و یه پنل مدیریت حرفهای، همه رو یاد میگیریم و آماده پروژههای واقعی میشی!
مشاهده بیشترمشخصات مقاله
آموزش چک کردن اطلاعات یا Filter در PHP
آموزش کار با Filters در زبان PHP : :
اعتبارسنجی اطلاعات یا (validating data) به معنای چک کردن صحت اطلاعات و این که آیا دیتای درست ارسال شده است یا خیر، می باشد.
اما پاک سازی یا (sanitizing data) به معنای حذف کاراکترهای غیر مجاز و اضافی از اطلاعات و ارسال دیتای خالص می باشد.
از Filter ها در زبان PHP برای اعتبارسنجی و پاک سازی اطلاعات ورودی استفاده می شود.
افزونه فیلتر در پی اچ پی یا PHP Filter Extension شامل تعداد زیادی تابع است که از آن ها می توان برای چک کردن اطلاعات ورودی کاربر استفاده کرد.این افزونه برای اعتبارسنجی راحت تر و سریع تر اطلاعات ورودی به کار می رود.
تابع filter_list() برای لیست کردن مواردی که افزونه PHP Filter جهت چک کردن اطلاعات پیشنهاد می دهد، استفاده می شود :
1 2 3 4 5 6 7 8 9 10 11 12 | <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> <button></button> |
چرا از PHP Filter استفاده کنیم؟
نرم افزارهای تحت وب، اطلاعات ورودی زیادی را مثل موارد زیر دریافت می کنند :
- اطلاعات ورودی توسط کاربر در فرم ها.
- کوکی ها یا Cookies.
- اطلاعات وب سرویس ها.
- متغیرهای سرور.
- نتایج حاصل از query ها در دیتابیس.
همواره بایستی اطلاعات ورودی را چک کنید!
اطلاعات اشتباه submit شده توسط فرم، می تواند باعث بروز مشکلات امنیتی شده و صفحه شما را از کار بیاندازد. با ساتفاده از PHP Filter ها می توانید مطمین شوید که نرم افزار تحت وب شما همواره اطلاعات درست دریفات می کند.
آموزش کار با تابع filter_var() در PHP :
تابع Filter_var() می تواند اطلاعات ورودی را کنترل و پاکسازی کند.
تابع filter_var() یک متغیر تنها را با استفاده از یک فیلتر خاص کنترل می کند. این تابع دو پارامتر اصلی به صورت زیر دریافت می کند :
- نام متغیری که می خواهید اطلاعات آن را کنترل کند.
- نوع اطلاعاتی که می خواهید بر حسب آن نوع متغیر چک شود.
آموزش نحوه پاکسازی یک String در PHP :
در کد مثال عملی زیر، با استفاده از تابع filter_var() کلیه تگ های HTML را از یک متغیر string حذف کرده ایم :
1 2 3 4 5 6 | <?php $str = "<h1>Hello World!</h1>" ; $newstr = filter_var( $str , FILTER_SANITIZE_STRING); echo $newstr ; ?> <button></button> |
آموزش چک کردن یک متغیر integer در PHP :
در کد مثال عملی زیر، تابع filter_var() چک می کند که آیا متغیر $int یک متغیر عددی یا integer هست یا خیر.اگر متغیر $int یک متغیر integer باشد خروجی کد به صورت “Integer is Valid” و در غیر این صورت خروجی آن “Integer is not Valid” می باشد :
1 2 3 4 5 6 7 8 9 | <!--?php $int = 100; if (!filter_var( $int , FILTER_VALIDATE_INT) === false) { echo ( "Integer is valid" ); } else { echo ( "Integer is not valid" ); } ?--> <button></button> |
مشکل تابع filter_var() با عدد صفر
در کد مثال فوق، اگر مقدار متغیر $int صفر باشد، خروجی کد عبارت “Integer is not Valid” می باشد، در حالی که عدد صفر، یک متغیر است. برای حل این مشکل، از کد زیر استفاده کنید :
1 2 3 4 5 6 7 8 9 | <?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" ); } ?> <button></button> |
آموزش چک کردن درستی یک IP با تابع filter_var() :
کد مثال عملی زیر، از تابع filter_var() برای چک کردن این که آیا متغیر $ip یک معتبر است یا خیر استفاده می کند :
1 2 3 4 5 6 7 8 9 | <?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" ); } ?> <button></button> |
آموزش اعتبارسنجی و پاکسازی یک Email با تابع filter_var() :
در کد مثال عملی زیر، ابتدا با استفاده از تابع filter_var() کلیه کاراکترهای غیر مجاز و اضافی را از متغیر $email حذف کرده ایم. سپس چک کردیم آیا متغیر $email شامل یک آدرس ایمیل صحیح است یا خیر:
1 2 3 4 5 6 7 8 9 10 11 12 | <?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" ); } ?> <button></button> |
آموزش اعتبارسنجی و پاکسازی یک URL با تابع filter_var() :
در کد مثال عملی زیر، ابتدا با استفاده از تابع filter_var() کلیه کاراکترهای غیر مجاز و اضافی را از متغیر $url حذف کرده ایم. سپس چک کردیم آیا متغیر $url شامل یک آدرس URL صحیح است یا خیر:
1 2 3 4 5 6 7 8 9 10 11 12 | <?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" ); } ?> <button></button> |
مرجع کامل کار با Filter ها در PHP :
برای دسترسی به مرجع کامل کار با Filter در زبان PHP به بخش آموزش کامل PHP Filter در سایت تحلیل داده بروید.
مرجع کامل آموزش PHP Filter حاوی توضیحات کامل و نکات کاربردی تابع های مختلف Filter کردن اطلاعات در زبان PHP است.