Mavzu: PHP dasturlash tilida havfsizlik (to'liq)
1. BLACK_LION(M) (4774) [off] | TXT | 58| 10 Jan 2019, 02:29
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:

1) Xatolik haqida foydalanuvchiga xabar berish

Bu jiddiy xatolik emas ammo bu orqali ham "kerakli" xatolikni topish mumkin.

Himoyasi:

.htaccess fayliga

php_flag error_reporting 0

Buyrug'ini yozish. Bu buyruq orqali xatolikni ko'rdatmaydi.


2) Sistema haqida foydalanuvchiga ochiq ma'lumot ko'rsatish

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...

Himoya:

.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.


3) Admin paneldagi oddiy parol

Bu ham jiddiy havf solmaydi ammo sistemadagi holatni bu orqali olish imkoniyati ko'proq.

4) Global o'zgaruvchilarni to'g'ri sozlamaslik

Bu endi jiddiy havflardan biri hisloblanadi. Ya'ni ichki sozlamalar orqali kerakli tomonlarni yopmaslik.

Himoya:

.htaccess fayliga

php_flag register_globals off

Kodini orqali global o'zgaruvchilarni o'zgarishini oldini olasiz.


5) PHP - Ineksiya

Bu haqida ko'p eshitganmiz ammo aniq ma'lumotga ega emas edik. Bu havfli holat


<?php
<br />eval(), preg_replace(), require_once(), include_once(), include(), require(), create_function(), readfile(), dir(), fopen()
<
br />?>



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.

6) Fayl yuklnish vaqtida PHP Ineksiya

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.

7) e-mail ineksiya

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...

8) SQL ineksiya

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
<br />mysql_query("SELECT * FROM `users` WHERE `id` = '".$_GET['id']."' LIMIT 1);
<br />?>




Bu kodda oddiy qilib aytganda

$_GET so'rovini o'zgartirish mumkin, aytaylik


<?php
<br />mysql_query("SELECT * FROM `users` WHERE `id` = '1; or select * ...' LIMIT 1);
<br />?>




So'rovli orqali istaganini qila oladi.

9)

Qisqasi bu postga yana qo'shimcha yozib boraman. Sababi hozir yo'qotib qo'yishim mmkin shuncha yozganimni...
Oxirgi o'zgarish: BLACK_LION (10 Jan 2019, 02:33)
Ijobiy (1): Arey,
2. Tayotabek(1513) [off] | TXT | 57| 10 Jan 2019, 02:41
5 - require va include dan juda köp foydalanamiz. Ammo, bunda ham xavf borligini endi eshityapman. Iloji bölsa nimalarga ahamiyat berishimiz va qanday yozish kerakligini ham yozib ötsangiz:-)
misol men doim
require (yoki include) ('papka/fayl.php'); tarzida ulayman. Ammo yana nimaga e'tibor berish kerak tushunmadim...:nima:
3. MasterOS(1420) [off] | TXT | 57| 10 Jan 2019, 02:44
Tayotabek, menimcha xavf requireda
4. Tayotabek(1513) [off] | TXT | 57| 10 Jan 2019, 02:47
MasterOS, Aynan nima uchun degan savol miyaga kelyapti??

.

7ga ochig'i tushunmadim!)))
5. MasterOS(1420) [off] | TXT | 57| 10 Jan 2019, 02:51
Tayotabek, 7 ni manosi.Saytga hujum qiluvchi "Ogayni" email orqali biror bir ssilka jonatib, shu ssilka orqali buzib kirishi mumkin.
Ijobiy (1): Besthakker,
Raxmat aytdi (1): Tayotabek,
6. Besthakker(1772) [off] | TXT | 57| 10 Jan 2019, 03:29
8.






<?php
<br />mysql_query("SELECT * FROM `users` WHERE `id` = '".$_GET['id']."' LIMIT 1);
<br />?>








bu qanaqa kod batafsilroq malumot bersayiz iltimos men shu kodni qayerdadur korgandim
7. UmA (457) [off] | TXT | 54| 10 Jan 2019, 07:14
Rostdan ham require() include() larda nima ayb :D men ham aynan shunisiga tushunmadim :koz:
Ma'lumotlar
Mavzu id raqami: 3041
Mavzuga oid xabarlar soni: 19 ta
So'ngi faollik vaqti: 22 Nov 2019, 13:08
Mavzuni ko'rishgan: 59 kishi
» txt shaklida yuklab olish
» Mavzudagi yangi xabarlardan xabardor bo'lishni rad etish
uzmasters.ru Onlayn 33 (2/31)
uzmasters.ru Forumga a'zo bo'lish
uzmasters.ru Forumdan qidirish
uzmasters.ru Bosh sahifa
Яндекс.Метрика UzMasterS.Ru