Защита от хакване

StormBreaker каза:
lam3r4370 каза:
Ето как става:
<?php
$get = $_GET['id'];
if(preg_match("/union/i",$get,$bb) OR preg_match("/select/i",$get,$bb) OR preg_match("/or/i",$get,$bb) OR preg_match("/-/i",$get,$bb)){
echo "Благодарим Ви!Ще предадем на НСБОБ";
$sleep = sleep(15);
if($sleep == true) {
echo "Ооопс пренатоварихме се ,изчакайте няколко секунди";
}
die();
exit(); // да се подсигурим .... :D
}
?>
ако УРЛ-то е http://site.com/site.php?id=1+select и т.н няма да стане нищо

И ако през това поле се предава текст какво правим?
Не вярвам текста да съдържа union,select,or
 
lam3r4370 каза:
StormBreaker каза:
lam3r4370 каза:
Ето как става:

ако УРЛ-то е http://site.com/site.php?id=1+select и т.н няма да стане нищо

И ако през това поле се предава текст какво правим?
Не вярвам текста да съдържа union,select,or

и защо не вярваш ?
ето ти прост пример

http://site.com/site.php?id=1+order+by+1 , и т.н.
вече няма да развиваме инжекция сега :)
но все пак може да се намери select , union , concat , group , username , password , 0x3a , null и т.н. така че нека си сложи тази защита , но да нарпави всякакви символи от вида на %20 %00 !@#$%^&*()_+.. да не бачкат :)

но както каза някой одеве , ако са решили да ти хакнат сайта и са добри хакери - няма да ги спреш ;]
 
Значи аз щети предложа един съвет да не ползваш icn.bg,smshosting.bg и слагай пред всеки $_GET, $_POST ли било addslashes(strip_tags(trim( тоест

Код:
addslashes(strip_tags(trim($_GET['page'])))

Ето така изглежда един защитен Get

Сега мисля че sql injection , xss , sqli ,... всичките са блокирани но във всяка заявка към db ползваш сигурно mysql_fetch_array
Значи това е много опасно нещо ако не е покрито то докарва Warning на сайта какво може да направи един Warning свързан със mysql_fetch_array
Код:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

Довежда до SQLI,и много лесно може да те ограбят...и от там следва хакване на сайта..


Как да покрием mysql_fetch_array() лесни със @ пред него ето пример който е оправен кода


Код:
while($row = @mysql_fetch_array($query))
 {


}


Това е но ти си решаваш най-добре .
 
phpbot каза:
Значи аз щети предложа един съвет да не ползваш icn.bg,smshosting.bg и слагай пред всеки $_GET, $_POST ли било addslashes(strip_tags(trim( тоест

Код:
addslashes(strip_tags(trim($_GET['page'])))

Ето така изглежда един защитен Get

Сега мисля че sql injection , xss , sqli ,... всичките са блокирани но във всяка заявка към db ползваш сигурно mysql_fetch_array
Значи това е много опасно нещо ако не е покрито то докарва Warning на сайта какво може да направи един Warning свързан със mysql_fetch_array
Код:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

Довежда до SQLI,и много лесно може да те ограбят...и от там следва хакване на сайта..


Как да покрием mysql_fetch_array() лесни със @ пред него ето пример който е оправен кода


Код:
while($row = @mysql_fetch_array($query))
 {


}


Това е но ти си решаваш най-добре .

:shock: :shock: :shock: :shock: :shock: :shock:
 

Back
Горе