INTERNET VA DASTURLASH
|
Sayt yaratishda yordam
|
Mavzu:
PHP dasturlash tilida havfsizlik (to'liq)
Mavzu fayllari
(0)
Har bir dasturlashni o'rganuvchilar uchun uning proyektining havfsizligi eng asosiy o'rinda bo'lishi aniq. Bu mavzuda imkon jiddiyroq qadar to'liq ma'lumot bermoqchiman. Bu esa menimcha UzNET ma'lumotlarida bo'ladi :-) Demak boshladim, xatolik turlari va ularni yopish: [b]1) Xatolik haqida foydalanuvchiga xabar berish[/b] Bu jiddiy xatolik emas ammo bu orqali ham "kerakli" xatolikni topish mumkin. [b][red]Himoyasi: [/red] .htaccess fayliga php_flag error_reporting 0 Buyrug'ini yozish. Bu buyruq orqali xatolikni ko'rdatmaydi.[/b] [b]2) Sistema haqida foydalanuvchiga ochiq ma'lumot ko'rsatish[/b] Bu ham jiddiy "qaramlik" emasku ammo sistema haqidagi ma'lumotni ham ko'rsatib berish "yaxshi amakilar" uchun qo'l kelishi mumkin. Bunga misol qilib, phpinfo.php fayli bo'la oladi. CMS yoki biror fremworkni aytmasak ham bo'ladi... [b][red]Himoya:[/red] .htaccess fayliga Order Deny,Allow <FilesMatch <"\\.php"> Deny from all </FilesMatch> Kodini kiritish orqali php fayllarni to'g'ridan-to'g'ri ko'rish yoki yuklab olishini yopishingiz mumkin.[/b] [b]3) Admin paneldagi oddiy parol[/b] Bu ham jiddiy havf solmaydi ammo sistemadagi holatni bu orqali olish imkoniyati ko'proq. [b]4) Global o'zgaruvchilarni to'g'ri sozlamaslik[/b] Bu endi jiddiy havflardan biri hisloblanadi. Ya'ni ichki sozlamalar orqali kerakli tomonlarni yopmaslik. [b][red]Himoya:[/red] .htaccess fayliga php_flag register_globals off Kodini orqali global o'zgaruvchilarni o'zgarishini oldini olasiz.[/b] [b]5) PHP - Ineksiya[/b] Bu haqida ko'p eshitganmiz ammo aniq ma'lumotga ega emas edik. Bu havfli holat <?php eval(), preg_replace(), require_once(), include_once(), include(), require(), create_function(), readfile(), dir(), fopen() ?> Bu php funksiyalari orqali "yaxshi amakilar" sizning tashqi yo'naltirilgan so'rov orqali sizning sistemasidagi haqida ma'lumotga ega bo'lishi va yoki kerakli fayllaringizni olish imkoniga ham ega. Bu funksiyalardan imkon qadar foydalanmang va agar foydalanayotgan bo'lsangiz ham to'g'ri yozishga harakat qiling. [b]6) Fayl yuklnish vaqtida PHP Ineksiya[/b] Bu turda foydalanuvchi fayl tanlaydigan va yuklayotgan vaqtidagi faylga ichki holatida uni ichiga kod kiritish hisoblanadi. Bu holatda, agar faylni tekshiruvlardan o'tkazmasdan serverga joylashga ruxsat bersangiz u holatda balkim, sizning global sozlamalaringizga o'zgarishlar haqidagi buyruqlar berilgan yoki shunga o'xshash havfli buyruq berilgan bo'lishi mumkin. Buni yo'qotish uchun siz faylni tekshirishni to'g'ri va to'liq amalga oshirishingiz kerak. Ya'ni, "moderatsiydan o'tmagunicha" degan qandaydur hayol emas, haqiqiy tekshiruv nazarda tutilmoqda. [b]7) e-mail ineksiya[/b] Bu turda dasturlovchilar foydalanuvchiga xabarni to'g'ri va to'liq yetib borishi uchun chetdagi kutubxonalardan foydalangan holda amalga oshirishga harakat qiladi va u chetdagi kutubxona muallifi kodni o'zgartirgan holda saytni istagan kuyiga solishi mumkinligi haqida o'ylab ham ko'rmaydi... [b]8) SQL ineksiya[/b] Bu tur haqida ham ko'p eshitganmiz ammo to'liq bilmaymiz. Bu usul orqali ma'lumotlar bazasidagi strukturani bilib olishi yoki istalgan holatda ko'rishi, saqlashi, o'zgartirishi, o'chirishi ham mumkin. Bu holatga misol qilib: <?php mysql_query("SELECT * FROM `users` WHERE `id` = '".$_GET['id']."' LIMIT 1); ?> Bu kodda oddiy qilib aytganda $_GET so'rovini o'zgartirish mumkin, aytaylik <?php mysql_query("SELECT * FROM `users` WHERE `id` = '1; or select * ...' LIMIT 1); ?> So'rovli orqali istaganini qila oladi. [b]9) [/b] Qisqasi bu postga yana qo'shimcha yozib boraman. Sababi hozir yo'qotib qo'yishim mmkin shuncha yozganimni...
Yuklab olish
Onlayn 121 (0/121)
Forumga a'zo bo'lish
Forumdan qidirish
Bosh sahifa