Mavzu: PHP dasturlash tilida havfsizlik (to'liq) (INTERNET VA DASTURLASH/Sayt yaratishda yordam) BahhTeeUz (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:
[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... Tayotabek (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: MasterOS (10 Jan 2019 02:44) [b]Tayotabek,[/b] menimcha xavf requireda Tayotabek (10 Jan 2019 02:47) [b]MasterOS,[/b] Aynan nima uchun degan savol miyaga kelyapti??
.
7ga ochig'i tushunmadim!))) MasterOS (10 Jan 2019 02:51) [b]Tayotabek,[/b] 7 ni manosi.Saytga hujum qiluvchi "Ogayni" email orqali biror bir ssilka jonatib, shu ssilka orqali buzib kirishi mumkin. Besthakker (10 Jan 2019 03:29) 8.


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


bu qanaqa kod batafsilroq malumot bersayiz iltimos men shu kodni qayerdadur korgandim UmA (10 Jan 2019 07:14) Rostdan ham require() include() larda nima ayb :D men ham aynan shunisiga tushunmadim :koz: MasterOS (10 Jan 2019 07:19) [b]UmA,[/b] Mana: http://xaker.name/threads/13504/ Fanat_FCB (10 Jan 2019 09:36) Saytni skaner qilolmasligi uchun nima qilsa buladi johnda MasterOS (10 Jan 2019 09:39) [b]Fanat_FCB,[/b] Mana: https://annimon.com/qa/326 Besthakker (10 Jan 2019 09:44) [b]MasterOS,[/b] Saxifa oqarib yotipdi yoki javaga shunaqami MasterOS (10 Jan 2019 09:49) [b]Besthakker,[/b] Unda www.annimon.com>Вопрос и ответи> Как скрыть сайт от сканирования? Besthakker (10 Jan 2019 10:01) [b]MasterOS,[/b] Можно ли защитить сайт и внутренний ресурсы от сканера?
Заранее спасибо, всем! MasterOS (10 Jan 2019 10:03) [b]Besthakker,[/b] да точно dayko (8 Feb 2019 23:41) zor mavzu :zor: walterhack (9 Feb 2019 15:39) [b]UmA,[/b] Manimcha requireda cheklab qoyadiyu errordan keyin shunisi havfli deb oylagandm lekin qanaqasiga havfli boladi bu ham bizni foydamizga emasmi?? BruTaL (9 Feb 2019 19:44) Salom, sizdan http://aztop.ru saytining eng yaxshi katalogiga obuna bo'lishingizni so'rayman bek2004 (21 Nov 2019 19:59) Mavzu zor root (22 Nov 2019 13:08) --Javob-- Tayotabek (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: ---------- [b]Tayotabek,[/b] buni zarari yoq zararlilari create folder eval vahkk include va require zararsiz ammo buni ishlatishingizga gogliq agar siz notogri qollansangiz bu ham sizga muammolar keltiradi
sizga bir qisqacha savol require va include xammamiz ishlatamiz va qaysibir xavsizroq va qysi birini ishlatsak togriroq degan savol xammani qiziqtiradi togrimi?
[b]14898dan so'ng qo'shdi...[/b]
Bunga qisqacha ochiqlama
require xato (E_COMPILE_ERROR) ga olib keladi va skriptni to'xtatadi (Menimcha tushundingiz bu funksiyani foydalanganingizda scriptingizda xatolikni korsatadi agar xato bolsa va script ishlashini toxtadi yani oq saxifa va error show tushundingiz deb oylayman...)
include faqat ogohlantirish (E_WARNING) keltiradi va skript davom etadi (Bu haqida ham qisqacha unclude ni vazifasi xam require ga uxshaydi ammo bu xatoni korsatadi va script ishlayveradi yani shu shu qatorda xato bor deydi va uni pasti yoki yuqoridagi scriptlar ishlayveradi ) bu ham tushunarli bolsa endi yanada qiziqroq internetda eng kop muhokama bolgan savol
sizningcha qaysi biri ximoyaliroq yoki sifatlimi deymiz nima deyishni bilmadim))
include ('yuor_direktory.php');
require('yuor_direktory.php');
yoki
include 'yuor_direktory.php';
require 'yuor_direktory.php';


bu yerda 70% odam 1 boglanish deydi va adashadi albatta))
aslini olganda ikkiala boglanishda xech bir farq yoq faqat ikkinchi usuldan foydalansangiz xam code si sodda xam sintaksis xato kam qilasiz yana ozingiz bilasiz
ana endi bundan xam qiziq savol
require ni qachon ishlatishimiz kerak includeni qachon ishlatishimiz kerak
yoki bolmasa require_once ishlatsak torimi yoki require
xullas 25ta like yoki + dan keyin bular xaiqda batafsil yozaman
maqsad like yigishda emas maqsad bu mavzu neqadar kerakligida mavzu keraksiz deganlar dizlayk yoki - bosishlari mumkin Manba: https://uzmasters.ru/forum/6/57/3041/