Съвет, сайт за Вируси и Антивирусни програми

Malfurion3

Registered
Така, сайтът е проект за училище. Имам 6, но на мен не ми харесва. Искам да ви помоля, да ми помогнете със защитата... искам да го защитя, защото все ми не ми се получава...

http://vell.freehostia.com/ -- това е сайтът... не мисля да го пускам, просто ще се уча на него...(пп: търсачката не е защитена моля не я хаквайте)

Благодаря ви!
 
http://web-tourist.net/login/login/view.php?st=2418

Направо си копирай кода от урока и го инклудвай на всякъде.

За сайта: Харесва ми, браво. Кратко, точно и ясно. Всяко нещо си е на мястото.
 
Искам сам да се науча, а не да ползвам готови кодове. Видях го и реших да не го слагам а да се науча да си го защитавам сам...

ПП: Моля кажете ми къде са дупките в сайта и къде може да се хакне, за да го защитя
 
Malfurion3 каза:
Искам сам да се науча, а не да ползвам готови кодове. Видях го и реших да не го слагам а да се науча да си го защитавам сам...

ПП: Моля кажете ми къде са дупките в сайта и къде може да се хакне, за да го защитя

Ами прочети урока тогава. Може да се хакне чрез всяко input поле.
 
Значи най-простия и сравнително сигурен начин за защита е с htmlspecialchars
Всяка променлива която извличаш с метода $_POST или $_GET и участва в заявките към базата данни трябва да я обработиш с htmlspecialchars
Например добавяш антивирусна:
Код:
$sql = "INSERT INTO avs ( `name` , `link` , `desc` ) VALUES ('$_POST['name']', $_POST['link'], $_POST['desc']);"
Ще стане на:
Код:
$name = htmlspecialchars($_POST['name']);
$link = htmlspecialchars($_POST['link']);
$desc = htmlspecialchars($_POST['desc']);
$sql = "INSERT INTO avs ( `name` , `link` , `desc` ) VALUES ('$name', $link, $desc);"
А най-сигурния начин е да добавиш и addslashes преди htmlspecialchars:
Код:
$name = addslashes($_POST['name']);
$name = htmlspecialchars($name, ENT_NOQUOTES);
$link = addslashes($_POST['link']);
$link = htmlspecialchars($link, ENT_NOQUOTES);
$desc = addslashes($_POST['desc']);
$desc = htmlspecialchars($desc, ENT_NOQUOTES);
$sql = "INSERT INTO avs ( `name` , `link` , `desc` ) VALUES ('$name', $link, $desc);"

Но функцията в урока ще ти спести много време, само я слагаш в config-а или в друг файл който инклудваш във всяка страница и то си обработва променливите

ПС: Аз ти препоръчвам първия вариант, само с htmlspecialchars ;)
 

Back
Горе