Guruh talabasi Raxmonov Shahzod 6-Laboratoriya ishi


SELECT QUOTENAME(@form_input, '''')



Download 125 Kb.
bet3/3
Sana30.12.2021
Hajmi125 Kb.
#97126
1   2   3
Bog'liq
Mbxl 6-lab

SELECT QUOTENAME(@form_input, '''');

Natijalar ip atrofidagi apostroflarni ko'rsatadi. Bunga qo'shimcha ravishda, kirish satridagi apostrof, uni ishlatadigan satrlar buzilmasligini ta'minlaydigan ikki tomon lama apostroflar bilan almashtirildi:



Results.

QUOTENAME-dan foydalanishda yomon alternativalar ko'p, ulardan eng yomoni belgi kombinatsiyalarini qo'lda sozlash uchun REPLACE ko'p funktsiyalarini qo'lla shdir. Natija ko'pincha quyidagicha ko'rinadi:

DECLARE @form_input VARCHAR(250) = '''SELECT * FROM dbo.all_of_ my_passwords';

SELECT REPLACE(@form_input, '''', '''''');

Bu kirishlarni tozalashning qiyin usuli, chunki xaker tomonidan qilinadigan har qan day yomon harakatni oldindan bilish va bu erda hisobga olish kerak. Agar biz bosh qa ajratilgan satr ichida dinamik SQL-ni bajarayotgan kambag'al dastaklar bo'lsak, unda apostroflar hajmi tartibsizlikka va xatolarga olib keladigan kodni keltirib chiq aradigan aylanish miqdoriga yaqinlashishini kuting. Ilova va veb-kod ham tozalovc hi kirishlarga ega ekanligiga ishonch hosil qiling. Bu bizni yomon kod, inson xatosi yoki xavfsizlikning zaifligini salbiy ta'siridan himoya qiladigan qo'shimcha himoya qatlamlarini ta'minlaydi.



LIKE operatorlaridan ehtiyotkorlik bilan foydalaning.

Agar foydalanuvchi ma'lumotlari LIKE operatoridan foydalanadigan so'rovga yubo rilsa, natijada olingan so'rov faqat to'g'ri ma'lumotlarni so'rashiga amin bo'lishimiz kerak. Masalan, "Edvard" deb nomlangan odamlarni oddiy qidirishimiz mumkin:



DECLARE @Search_Criteria NVARCHAR(MAX) = 'Edward';

SELECT

*

FROM Person.Person

WHERE Person.FirstName LIKE @Search_Criteria;

Natijalar Yusuf ismli 72 kishidan iborat:



Agar foydalanuvchi qidiruviga foiz belgisini qo'shsa nima bo'lishini ko’ramiz:


DECLARE @Search_Criteria NVARCHAR(MAX) = '%%' -- User searches f or "Thom", and gets no results returned.

SELECT

*

FROM Person.Person

Bo'sh qidiruv bo'lmasa ham, yuqoridagi so'rov person.Person tarkibini qaytaradi:




Ushbu stsenariyda natijalar to'plami 19,972 qatorni tashkil qiladi. Foiz belgilarining harflar harflari sifatida ko'rib chiqilishini yoki ularni umuman rad etishini ta'minlas h uchun biz ma'lumotlarni tozalashimiz kerak. Agar kerak bo'lsa, TSQL-dan satrlar ni boshqarish va foiz belgilarini harflar soniga aylantirish uchun foydalanish mumkin:



DECLARE @Search_Criteria NVARCHAR(MAX) = '%%' -- User searches f or "Thom", and gets no results returned.

SELECT @Search_Criteria = REPLACE(@Search_Criteria, '%', '[%]');

SELECT * FROM Person.Person

WHERE Person.FirstName LIKE @Search_Criteria;

Bu ideal echim emas, chunki u faqat bitta belgiga murojaat qiladi, ammo agar bu faqat belgi masalasi bo'lsa, u maqbul bo'ladi. Ushbu xatti-harakatlarning asosiy echimi - LIKE taqqoslash bilan ehtiyotkorlik bilan ishlash va kirish satri foydalanuvchiga ular uchun mo'ljallanmagan natijalarni qaytarishga imkon berishi mumkin bo'lgan o'zgartirilmagan belgilar yoki regex modifikatorlaridan o'tmasligini ta'minlash. Shunga o'xshab, agar jadval juda katta bo'lsa, biz foydalanuvchi ushbu katta jadvalga nisbatan indeks skanerini chiqara olishini istamaymiz, chunki milliardlab qatorlarni ko'rib chiqishda xavfsizlik muammosi ustida ishlash muammosi paydo bo'ladi.





Download 125 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish