SQL-инъекции

982
.
Чем осторожнее человек в своих обещаниях, тем он..
Тем не менее
.
к чему такие сложности , если в переменной число то окрубляй до целых
(intval($str)==0)?echo'стоит задуматся':echo 'всё гут';
если не число то просто mysql_real_escape_string($str)
.
Чтобы исключить подобные инъекции в начале файла index.php вставляете вот такой код:
$querystr =$_SERVER['QUERY_STRING'];
if (strstr($querystr,"concat_ws") || strstr($querystr,"concat") || strstr($querystr,"union"))
{ header( "Location: index.php" ); }
и все.
Конечно, с помощью регулярных выражений смотрелось бы элегантней, но этот код работает быстрее.
Проверено лично.
Инъекция производится подменой SQL запроса, т.е. без union не обойтись, а тут,как только в строке есть union (т.е. замена запроса) , concat_ws или concat (объединение строк, хотя можно и без него обойтись) - тут же приключается редирект со сбросом параметров.
Кстати, если это прописать в .htaccess - будет еще лучше.
.
(¯`*•. Сторож Ночи .•*´¯)
ГАРЫНЫЧ, а где в .htaccess прописывать?и помогает точно?а то у меня врАги ггг
.
Агент НКВД
winged (29.01.2009/11:01)
ГАРЫНЫЧ, а где в .htaccess прописывать?и помогает точно?а то у меня врАги ггг
Ты его туда не пропишешь.
.
(¯`*•. Сторож Ночи .•*´¯)
Agent (29.01.2009/11:18)
Ты его туда не пропишешь.
эть получаеться во всех Индэх.пшп прописывать?...
.
Агент НКВД
winged (30.01.2009/01:42)
эть получаеться во всех Индэх.пшп прописывать?...
От скуль иньекций нет функций кроме этой mysql_real_escape_string()
.
(¯`*•. Сторож Ночи .•*´¯)
Agent, по подробней пожалуйста
.
Агент НКВД
winged (30.01.2009/05:58)
Agent, по подробней пожалуйста
Если по подробнее,то тебе учебник поможет.
.
Agent (29.01.2009/11:18)
Ты его туда не пропишешь.
ты утомлять начинаеш, харе умничать неподелу.
Можно через htacces полностью себя обезопасить от sql инъекций, просто включив магические кавычки. Правда производительность немного упадёт, на маленьких сайтах даже незаметно
Всего: 32