PHP kodida SQL in’eksiya sabablari




Download 0,54 Mb.
Pdf ko'rish
bet8/15
Sana25.05.2024
Hajmi0,54 Mb.
#253845
1   ...   4   5   6   7   8   9   10   11   ...   15
1.3.PHP kodida SQL in’eksiya sabablari 
Veb-ilova kо‘pincha foydalanuvchidan ma’lumot olishni va javob berish uchun 
odamni kutadi. Foydalanuvchi о‘zaro ta’sir qilish protsedurasining bir qismi sifatida 
serverga ma’lumotlarni taqdim etishi kerak. Foydalanuvchidan ma’lumotlarni olgandan 
sо‘ng, veb-ilova mijozni shartli ravishda kо‘rsatish uchun ma’lumotlar bazasi tizimiga 
sо‘rov yuboradi. Foydalanuvchilar odatda GET, POST va Cookie usullari orqali serverga 
ma’lumotlarni taqdim etadilar. GET texnikasi URL manzilida yuboriladigan 
ma’lumotlarni tо‘g‘ridan-tо‘g‘ri yozishni о‘z ichiga oladi va u kо‘rish paytida kamroq 
ma’lumotlarni uzatish uchun ishlatiladi. POST usuli odatda ariza topshirish sifatida 
ishlatiladi va foydalanuvchilar kirish ma’lumotlariga muhtoj bо‘lganda tez-tez ishlatiladi, 
bu odatda katta hajmdagi ma’lumotlar. Cookie-fayllar - bu onlayn dastur 
foydalanuvchining brauzer buferida saqlaydigan kichik ma’lumotlar bо‘laklari. Ular 
odatda foydalanuvchi identifikatorlarini saqlash yoki ularning kо‘rish odatlarini kuzatish 


18 
uchun ishlatiladi.
SQL in’ektsiyasi zaifligining asosiy sababi shundaki, vebilova tizimi uzatilgan 
ma’lumotlarni uzatish paytida darhol aniqlay olmaydi. Kodni yozish jarayonida dasturchi 
bevosita koddan foydalanadi. Ma’lumotlar qayta ishlash uchun ma’lumotlar bazasi 
tizimiga yuborilishidan oldin SQL buyruqlari bilan birlashtiriladi. Agar tajovuzkor taqdim 
etilgan ma’lumotlarda kо‘proq SQL buyruqlarini о‘z ichiga olsa, ularning barchasi bir 
vaqtning о‘zida bajariladi, natijada SQL in’ektsiyasi sodir bо‘ladi. 
PHP kodidagi SQL injection zaifliklari bir necha sabablarga kо‘ra yuzaga kelishi 
mumkin, jumladan: 
1. Notо‘g‘ri kirish tekshiruvi: SQL sо‘rovlarida foydalanishdan oldin foydalanuvchi 
kiritgan ma’lumotlarini tekshirish va sanitarizatsiya qilmaslik SQL in’ektsiyasi 
zaifliklarining keng tarqalgan sababidir. Agar foydalanuvchi kiritgan ma’lumotlar tо‘g‘ri 
tasdiqlanmagan bо‘lsa, tajovuzkorlar zararli SQL kodini kiritish orqali ushbu zaiflikdan 
foydalanishlari mumkin. 
2. SQL sо‘rovlarida foydalanuvchi kiritishini birlashtirish: Agar foydalanuvchi 
tomonidan taqdim etilgan ma’lumotlar tо‘g‘ridan-tо‘g‘ri SQL sо‘rovlariga tо‘g‘ri 
sanitarizatsiya qilinmasdan yoki parametrlashsiz birlashtirilsa, bu SQL in’ektsiyasi 
zaifliklariga olib kelishi mumkin. Buning о‘rniga, SQL kodini foydalanuvchi kiritishidan 
ajratish uchun tayyorlangan bayonotlar yoki parametrlangan sо‘rovlardan foydalanish 
kerak. 
3. Parametrlarni bog‘lashning yо‘qligi: PHP da dinamik SQL sо‘rovlarini bajarishda 
ularni sо‘rovga tо‘g‘ridan-tо‘g‘ri kiritishdan kо‘ra ularni bog‘lash muhim ahamiyatga ega. 
Parametrlarni bog‘lamaslik SQL in’ektsion hujumlari uchun eshikni ochiq qoldirishi 
mumkin. 
4. Ishonchsiz ma’lumotlar bazasi ulanishi: mysql_* funksiyalari kabi xavfsiz 
bо‘lmagan yoki eskirgan ma’lumotlar bazasiga ulanish usullaridan foydalanish zaifliklarni 
keltirib chiqarishi mumkin. Tayyor bayonotlar va parametrlangan sо‘rovlarni qо‘llab-


19 
quvvatlaydigan PDO (PHP Data Objects) yoki MySQLi kengaytmasi kabi xavfsiz 
alternativalardan foydalanish tavsiya etiladi. 
5. Xato haqida xabar berish: Batafsil xato xabarlari yoki SQL sо‘rovi xatolarini 
foydalanuvchilarga kо‘rsatish tajovuzkorlarga qimmatli ma’lumotlarni taqdim etishi 
mumkin. Ma’lumotlar bazasi tuzilishi yoki sо‘rovlari haqida nozik ma’lumotlarni oshkor 
qilmasdan xatolarni tо‘g‘ri boshqarish va jurnalga kiritish juda muhimdir. 
6. Imtiyozlarni boshqarishning etarli emasligi: PHP ilovasining ma’lumotlar bazasi 
foydalanuvchisiga haddan tashqari ma’lumotlar bazasi imtiyozlarini berish muvaffaqiyatli 
SQL in’ektsion hujumining ta’sirini oshirishi mumkin. Ma’lumotlar bazasi 
foydalanuvchisi kerakli operatsiyalarni bajarish uchun faqat kerakli ruxsatlarga ega 
bо‘lishini ta’minlab, eng kam imtiyozlar printsipiga amal qilish kerak. 

Download 0,54 Mb.
1   ...   4   5   6   7   8   9   10   11   ...   15




Download 0,54 Mb.
Pdf ko'rish