PHP filtrlar ma’lumotnomasi


ULASHISH

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!