PHP filtrlar (filters)


ULASHISH

PHP filtri kengaytmasi

PHP filtrlari xavfsiz bo‘lmagan tashqi kirishni tekshirish va tozalash uchun ishlatiladi (masalan shakllar, cookie-fayllar, veb-xizmatlar yoki ma’lumotlar bazasi so‘rovlaridan foydalanuvchi ma’lumotlari).

Ma’lumotlarni tekshirish = Ma’lumotlar to‘g‘ri shaklda yoki yo‘qligini tekshiradi (masalan, haqiqiy elektron pochta format, URL, butun son va boshqalar).

Ma’lumotlarni Sanitizatsiya (tozalash) — ma’lumotlardan yaroqsiz yoki xavfli belgilarni olib tashlaydi.

Har doim tashqi ma’lumotlarni tasdiqlang!

Ishonchsiz taqdim etilgan ma’lumotlar xavfsizlik muammolariga olib kelishi va veb-sahifangizni buzishi mumkin!

PHP filtrlaridan foydalanib, ilovangiz to‘g‘ri kiritilgan ma’lumotlarni olishiga ishonch hosil qilishingiz mumkin!


PHP Filtr funksiyalari

PHP filtri kengaytmasi foydalanuvchi kiritgan ma’lumotlarni tekshirish uchun ko‘plab funksiyalarga ega va ma’lumotlarni tekshirishni oson va tezroq qilish uchun mo‘ljallangan:

  • filter_var() - Belgilangan filtr bilan bitta o‘zgaruvchini filtrlaydi
  • filter_input() - Tashqi o‘zgaruvchini oladi (masalan, shakl kiritishdan) va uni filtrlaydi
  • filter_var_array() - Bir nechta tashqi o‘zgaruvchilarni (massiv) filtrlaydi va ularni filtrlaydi
  • filter_list() - Barcha qo‘llab-quvvatlanadigan filtr nomlari va identifikatorlari ro‘yxati

PHP filter_list() funksiyasi

filter_list() funksiyasi barcha qo‘llab-quvvatlanadigan filtr nomlari va ularning identifikatorlarini ro‘yxatga olish uchun ishlatiladi.

Quyidagi misolda HTML jadvalidagi qo‘llab-quvvatlanadigan filtr nomlari va ularning identifikatorlari keltirilgan:

Misol

<table>   <tr>     <th>Filter Name</th>     <th>Filter ID</th>   </tr>   <?php   foreach (filter_list() as $id =>$filter) {     echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';   }   ?> </table>
O‘zingiz sinab ko‘ring »


PHP filter_var() funksiyasi

filter_var() funksiyasi belgilangan filtr bilan bitta o‘zgaruvchini filtrlaydi.

Sintaksis

filter_var(var, filter, options);

Parametrlar:

  • var - Majburiy. Filtrlanadigan o‘zgaruvchini belgilaydi
  • filtr - ixtiyoriy. Foydalanish uchun filtrning identifikatori yoki nomini belgilaydi
  • variantlar - ixtiyoriy. Foydalanish uchun bir yoki bir nechta bayroq/variantni belgilaydi

PHP filtrlarining turlari

PHP da ikki xil filtr mavjud:

Tasdiqlash filtrlari: Ushbu filtrlar ma’lumotlarning muayyan mezonlarga javob berishini tekshiradi, lekin ma’lumotlarning o‘zini o‘zgartirmaydi. Agar ma’lumotlar noto‘g‘ri bo‘lsa, u false qaytaradi.

Tasdiqlash filtrlariga misollar:

  • FILTER_VALIDATE_EMAIL
  • FILTER_VALIDATE_URL
  • FILTER_VALIDATE_INT
  • FILTER_VALIDATE_IP

Sanitizatsiya filtrlari: Ushbu filtrlar ma’lumotlardan yaroqsiz belgilarni olib tashlaydi va kiritishni o‘zgartirishi mumkin.

Sanitizatsiya filtrlariga misollar:

  • FILTER_SANITIZE_EMAIL (noqonuniy.ni olib tashlaydi elektron pochta belgilari)
  • FILTER_SANITIZE_URL (noqonuniy URL belgilarini olib tashlaydi)
  • FILTER_SANITIZE_NUMBER_INT (raqamlar va + -dan tashqari barcha belgilarni olib tashlaydi belgilar)

Barcha filtrlar haqida to‘liq ma’lumot olish uchun bizning PHP filtri ma’lumotnomamizga o‘ting.


Elektron pochtani tozalash va tasdiqlash

Quyidagi misolda avval $email o‘zgaruvchisidan barcha yaroqsiz belgilarni olib tashlash uchun filter_var() funksiyasidan foydalaniladi, so‘ngra uning to‘g‘ri elektron pochta manzili ekanligini tekshiring:

Misol

<?php $email = "john.doe@example.com"; // Remove illegal characters from email $email = filter_var($email, FILTER_SANITIZE_EMAIL); // Validate email if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {   echo("$email is a valid email address"); } else {   echo("$email is not a valid email address"); } ?>
O‘zingiz sinab ko‘ring »

URL manzilini tozalang va tasdiqlang

Quyidagi misolda avval URLdan barcha yaroqsiz belgilarni olib tashlash uchun filter_var() funksiyasidan foydalaniladi, so‘ngra $url haqiqiy URL ekanligini tekshiring:

Misol

<?php $url = "https://www.w3schools.com"; // Remove illegal characters from 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"); } ?>
O‘zingiz sinab ko‘ring »

Butun sonni tasdiqlash

Quyidagi misolda $int o‘zgaruvchisi butun son ekanligini tekshirish uchun filter_var() funksiyasidan foydalaniladi. Agar $int butun son bo‘lsa, quyidagi kodning natijasi quyidagicha bo‘ladi: "Integer to‘g‘ri". Agar $int butun son bo‘lmasa, natija quyidagicha bo‘ladi: "Integer to‘g‘ri emas":

Misol

<?php $int = 100; if (!filter_var($int, FILTER_VALIDATE_INT) === false) {   echo("Integer is valid"); } else {   echo("Integer is not valid"); } ?>
O‘zingiz sinab ko‘ring »

Maslahat: filter_var() va 0 bilan muammo

Yuqoridagi misolda, agar $int 0 ga o‘rnatilgan bo‘lsa, yuqoridagi funksiya "Integer is not valid" ni qaytaradi. Ushbu muammoni hal qilish uchun quyidagi koddan foydalaning:

Misol

<?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"); } ?>
O‘zingiz sinab ko‘ring »

IP-manzilni tasdiqlang

Quyidagi misolda $ip o‘zgaruvchisi to‘g‘ri IP manzil yoki yo‘qligini tekshirish uchun filter_var() funksiyasidan foydalaniladi:

Misol

<?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"); } ?>
O‘zingiz sinab ko‘ring »

PHP filtri bo‘yicha to‘liq ma’lumotnoma

Barcha filtr funksiyalari haqida to‘liq ma’lumot olish uchun bizning PHP filtri ma’lumotnomamizga o‘ting. Qaysi variantlar va bayroqlar mavjudligini ko‘rish uchun har bir filtrni tekshiring.

Ma’lumotnomada har bir funksiya uchun qisqacha tavsif va foydalanish misollari mavjud!


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!