PHP forma validatsiyasi
PHP formasini tekshirish
PHP shakllarini qayta ishlashda XAVFSIZLIK haqida o‘ylang!
Ushbu sahifalar xavfsizlikni hisobga olgan holda PHP shakllarini qanday qayta ishlashni ko‘rsatadi. Shakl ma’lumotlarini to‘g‘ri tekshirish formangizni xakerlar va spamerlardan himoya qilish uchun muhimdir!
Ushbu boblarda biz ishlayotgan HTML formasi turli kiritish maydonlarini o‘z ichiga oladi: zarur va ixtiyoriy matn maydonlari, radio tugmalar va yuborish tugmasi:
Yuqoridagi shaklni tekshirish qoidalari quyidagicha:
| Field | Validation Rules |
|---|---|
| Name | Majburiy. + Faqat harflar va bo‘sh joy bo‘lishi kerak |
| Majburiy. + Yaroqli elektron pochta manzili bo‘lishi kerak (@ va . bilan) | |
| Website | Ixtiyoriy. Agar mavjud bo‘lsa, unda yaroqli URL bo‘lishi kerak |
| Comment | Optional. Multi-line input field (textarea) |
| Gender | Majburiy. Birini tanlash kerak |
Avval forma uchun oddiy HTML kodini ko‘rib chiqamiz:
Matn maydonlari
Ism, elektron pochta va veb-sayt maydonlari matn kiritish elementlari, sharh maydoni esa matn maydonidir.
HTML kodi quyidagicha ko‘rinadi:
Name: <input type="text" name="name">
E-mail: <input type="text" name="email">
Website: <input type="text" name="website">
Comment: <textarea name="comment" rows="5" cols="40"></textarea>
Radio tugmalari
Gender maydonlari radio tugmalari va HTML kodi quyidagicha ko‘rinadi:
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<input type="radio" name="gender" value="other">Other
Shakl elementi
Shaklning HTML kodi quyidagicha ko‘rinadi:
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Shakl topshirilganda, forma ma’lumotlari method="post" bilan yuboriladi.
$_SERVER["PHP_SELF"] o‘zgaruvchisi nima? $_SERVER["PHP_SELF"] hozirda bajarilayotgan skript fayl nomini qaytaradigan super global o‘zgaruvchidir.Shunday qilib, $_SERVER["PHP_SELF"] yuborilgan shakl ma’lumotlarini boshqa sahifaga o‘tish o‘rniga sahifaning o‘ziga yuboradi. Shunday qilib, foydalanuvchi forma bilan bir xil sahifada xato xabarlarini oladi.
htmlspecialchars() funksiyasi nima?htmlspecialchars() funksiyasi maxsus belgilarni HTML obyektlariga aylantiradi.
Bu shuni anglatadiki, u < va > kabi HTML belgilarni almashtiradi.
< va > bilan.
Bu HTML yoki Javascript kodini kiritish orqali tajovuzkorlarning koddan foydalanishini oldini oladi
(Saytlararo skript hujumlari) shakllarda.Ogohlantirish!
$_SERVER["PHP_SELF"] o‘zgaruvchisi xakerlar tomonidan ishlatilishi mumkin!
Agar sahifangizda PHP_SELF ishlatilsa, foydalanuvchi / qiyshiq chiziq kiritishi va keyin
ba’zi Cross Site Scripting (XSS) buyruqlarini bajarish.
Saytlararo skript (XSS) - bu kompyuter xavfsizligi zaifligining bir turi odatda veb-ilovalarda topiladi. XSS tajovuzkorlarga mijoz tomonini kiritish imkonini beradi boshqa foydalanuvchilar tomonidan ko‘riladigan veb-sahifalarga skript.
"test_form.php" nomli sahifada quyidagi shakl mavjud deb faraz qilaylik:
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
Endi, agar foydalanuvchi "http://www.example.com/test_form.php" kabi manzillar qatoriga oddiy URL manzilini kiritsa, yuqoridagi kod quyidagiga tarjima qilinadi:
<form method="post" action="test_form.php">
Hozirgacha juda yaxshi.
Biroq, foydalanuvchi manzil satriga quyidagi URL manzilini kiritishini hisobga oling:
http://www.example.com/test_form.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E
Bunday holda, yuqoridagi kod quyidagiga tarjima qilinadi:
<form method="post" action="test_form.php/"><script>alert('hacked')</script>
Ushbu kod skript yorlig‘i va ogohlantirish buyrug‘ini qo‘shadi. Va sahifa yuklanganda, JavaScript kodi bajariladi (foydalanuvchi ogohlantirish oynasini ko‘radi). Bu shunchaki oddiy va PHP_SELF o‘zgaruvchisidan qanday foydalanish mumkinligi haqida zararsiz misol.
Shuni yodda tuting:
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
