PHP filtrlar ma’lumotnomasi
PHP filtriga kirish
PHP filtrlari foydalanuvchi kiritishi kabi xavfli manbalardan kelgan ma’lumotlarni tekshirish va filtrlash uchun ishlatiladi.
O‘rnatish
PHP 5.2.0 dan filtr funksiyalari sukut bo‘yicha yoqilgan. Ushbu funksiyalardan foydalanish uchun o‘rnatish kerak emas.
Ish vaqti konfiguratsiyasi
Ushbu funksiyalarning ishlashiga php.ini sozlamalari ta’sir qiladi:
| Name | Tavsif | Default | Changeable |
|---|---|---|---|
| filter.default | Barcha $_GET, $_POST, $_COOKIE, $_REQUEST va $_SERVER ma’lumotlarini ushbu filtr orqali filtrlang. Sukut bo‘yicha siz foydalanmoqchi bo‘lgan filtr nomini qabul qiladi. Filtr nomlari ro‘yxati uchun filtr ro‘yxatiga qarang | "unsafe_raw" | PHP_INI_PERDIR |
| filter.default_flags | Standart filtr o‘rnatilganda qo‘llaniladigan standart bayroqlar. Bu orqaga qarab moslik sabablari uchun sukut bo‘yicha FILTER_FLAG_NO_ENCODE_QUOTES qilib o‘rnatiladi | NULL | PHP_INI_PERDIR |
PHP Filtr funksiyalari
| Function | Tavsif |
|---|---|
| filter_has_var() | Belgilangan kirish turidagi o‘zgaruvchi mavjudligini tekshiradi |
| filter_id() | Belgilangan filtr nomining filtr identifikatorini qaytaradi |
| filter_input() | Tashqi o‘zgaruvchini oladi (masalan, forma kiritishdan) va ixtiyoriy ravishda filtrlaydi |
| filter_input_array() | Tashqi o‘zgaruvchilarni oladi (masalan, forma kiritishdan) va ixtiyoriy ravishda ularni filtrlaydi |
| filter_list() | Barcha qo‘llab-quvvatlanadigan filtr nomlari ro‘yxatini qaytaradi |
| filter_var() | Belgilangan filtr bilan o‘zgaruvchini filtrlaydi |
| filter_var_array() | Bir nechta o‘zgaruvchilarni oladi va ularni filtrlaydi |
PHP oldindan belgilangan filtr konstantalari
| Constant | Tavsif |
|---|---|
| INPUT_POST | POST variables |
| INPUT_GET | GET variables |
| INPUT_COOKIE | COOKIE variables |
| INPUT_ENV | ENV variables |
| INPUT_SERVER | SERVER variables |
| FILTER_DEFAULT | Hech narsa qilmang, ixtiyoriy ravishda maxsus belgilarni ajratib oling/kodlang. ga teng FILTER_UNSAFE_RAW |
| FILTER_FLAG_NONE | Allows no flags |
| FILTER_FLAG_ALLOW_OCTAL | Faqat sakkizlik sonlar sifatida nol (0) bilan boshlanadigan kirishlar uchun. Faqat bu keyingi raqamlarni 0-7 bo‘lishiga imkon beradi |
| FILTER_FLAG_ALLOW_HEX | Faqat o‘n oltilik raqamlar sifatida 0x/0X bilan boshlanadigan kirishlar uchun. Faqat bu keyingi belgilar a-fA-F0-9 bo‘lishiga imkon beradi |
| FILTER_FLAG_STRIP_LOW | ASCII qiymati 32 dan past bo‘lgan belgilarni ajratib oling |
| FILTER_FLAG_STRIP_HIGH | ASCII qiymati 127 dan katta bo‘lgan belgilarni ajratib oling |
| FILTER_FLAG_ENCODE_LOW | ASCII qiymati 32 dan past bo‘lgan belgilarni kodlash |
| FILTER_FLAG_ENCODE_HIGH | ASCII qiymati 127 dan katta bo‘lgan belgilarni kodlash |
| FILTER_FLAG_ENCODE_AMP | Encode & |
| FILTER_FLAG_NO_ENCODE_QUOTES | ' va " kodlamang |
| FILTER_FLAG_EMPTY_STRING_NULL | Foydalanilmayapti |
| FILTER_FLAG_ALLOW_FRACTION | Raqamlarda kasr ajratuvchi sifatida nuqta (.) qo‘yishga ruxsat beradi |
| FILTER_FLAG_ALLOW_THOUSAND | Raqamlarda minglikni ajratuvchi sifatida vergul (,) qo‘yishga ruxsat beradi |
| FILTER_FLAG_ALLOW_SCIENTIFIC | Raqamlardagi ilmiy belgilar uchun e yoki E ga ruxsat beradi |
| FILTER_FLAG_PATH_REQUIRED | URL yo‘l (path) qismini o‘z ichiga olishi shart |
| FILTER_FLAG_QUERY_REQUIRED | URL so‘rov stringini o‘z ichiga olishi kerak |
| FILTER_FLAG_IPV4 | IP manzilini IPv4 formatida bo‘lishiga ruxsat beradi |
| FILTER_FLAG_IPV6 | IP manzilini IPv6 formatida bo‘lishiga ruxsat beradi |
| FILTER_FLAG_NO_RES_RANGE | Zaxiralangan IPv4 diapazonlari uchun tasdiqlanmadi: 0.0.0.0/8, 169.254.0.0/16, 127.0.0.0/8 va 240.0.0.0/4 va ajratilgan IPv6 diapazonlari uchun: ::1/128, ::/128, ::ffff:0:0/96 va fe80::/10 |
| FILTER_FLAG_NO_PRIV_RANGE | Shaxsiy IPv4 diapazonlari uchun tekshirish amalga oshmadi: 10.0.0.0/8, 172.16.0.0/12 va 192.168.0.0/16 va FD yoki FC bilan boshlanadigan IPv6 manzillari uchun |
| FILTER_FLAG_EMAIL_UNICODE | Elektron pochta manzilining mahalliy qismiga Unicode belgilaridan iborat bo‘lishiga ruxsat beradi |
| FILTER_REQUIRE_SCALAR | Qiymat skaler bo‘lishi kerak |
| FILTER_REQUIRE_ARRAY | Qiymat massiv bo‘lishi kerak |
| FILTER_FORCE_ARRAY | Skalar qiymatni massiv, skaler qiymati esa faqat element sifatida ko‘radi |
| FILTER_NULL_ON_FAILURE | Noma’lum mantiqiy qiymatlar uchun muvaffaqiyatsizlikka uchraganda NULLni qaytaring |
| FILTER_VALIDATE_BOOLEAN | Boolean qiymatni tekshiradi |
| FILTER_VALIDATE_EMAIL | Qiymatni yaroqli e-mail manzili sifatida tekshiradi |
| FILTER_VALIDATE_FLOAT | Qiymatni float sifatida tekshiradi |
| FILTER_VALIDATE_INT | Qiymatni butun son (integer) sifatida tekshiradi |
| FILTER_VALIDATE_IP | Qiymatni IP manzil sifatida tekshiradi |
| FILTER_VALIDATE_MAC | Qiymatni MAC manzil sifatida tekshiradi |
| FILTER_VALIDATE_REGEXP | Qiymatni muntazam ifoda (regular expression) bo‘yicha tekshiradi |
| FILTER_VALIDATE_URL | Qiymatni URL sifatida tekshiradi |
| FILTER_SANITIZE_ADD_SLASHES | FILTER_SANITIZE_MAGIC_QUOTES o‘rniga qo‘shilgan |
| FILTER_SANITIZE_EMAIL | Elektron pochta manzilidan barcha yaroqsiz belgilarni olib tashlaydi |
| FILTER_SANITIZE_ENCODED | Maxsus belgilarni o‘chiradi/kodlaydi |
| FILTER_SANITIZE_MAGIC_QUOTES | Addslashes() qo‘llang. PHP 7.3.0 da eskirgan va PHP 8.0.0 da olib tashlangan |
| FILTER_SANITIZE_NUMBER_FLOAT | Raqamlar, +- belgilari va ixtiyoriy .,eE dan tashqari barcha belgilarni olib tashlang |
| FILTER_SANITIZE_NUMBER_INT | Raqamlar va + - belgilaridan tashqari barcha belgilarni olib tashlaydi |
| FILTER_SANITIZE_SPECIAL_CHARS | Maxsus belgilarni olib tashlaydi |
| FILTER_SANITIZE_STRING | Stringdan teglar/maxsus belgilarni olib tashlaydi. PHP 8.1.0 da eskirgan |
| FILTER_SANITIZE_STRIPPED | FILTER_SANITIZE_STRING taxalluslari. PHP 8.1.0 da eskirgan |
| FILTER_SANITIZE_URL | URL manzilidan barcha yaroqsiz belgilarni olib tashlaydi |
| FILTER_UNSAFE_RAW | Do nothing, optionally strip/encode special characters |
| FILTER_CALLBACK | Ma’lumotlarni filtrlash uchun foydalanuvchi tomonidan belgilangan funksiyani chaqiring |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
