Маленькая таблеточка от SQL injection
Немного порывшись в интернете наткнулся на небольшое решение для защиты от sql injection. От злобных кулхацкеров он врядли спасет, но по крайней мере часть школоты можно отвадить от вашего сайта. Решение следующее. В самом верху вашего файла index.php или другого основного файла движка, можно даже до подключения всех конфигов и файлов с функциями вставить следующий код.
$get_ar = array_values($_GET);
$c_a_g = count($get_ar);
for ($i = 0;$i < $c_a_g;$i++){
if(eregi('union(.*)select',$get_ar[$i])){ header("Location: http://xakep.ru"); exit; }
if(eregi('order(.*)by',$get_ar[$i])){ header("Location: http://xakep.ru"); exit; }
}
$post_ar = array_values($_POST);
$c_a_p = count($post_ar);
for ($i = 0;$i < $c_a_p;$i++){
if(eregi('union(.*)select',$post_ar[$i])){ header("Location: http://xakep.ru"); exit; }
if(eregi('order(.*)by',$post_ar[$i])){ header("Location: http://xakep.ru"); exit; }
}
Данный способо будет обрабатывать все post и get переменные которые передаются скрипту и при попытке выполнить команду например union select будет происходить редирект на сайт журнала Хакер, либо можно его поменять на свой сайт и это будет аналогично переходу на вашу главную страницу.
$get_ar = array_values($_GET);
$c_a_g = count($get_ar);
for ($i = 0;$i < $c_a_g;$i++){
if(eregi('union(.*)select',$get_ar[$i])){ header("Location: http://xakep.ru"); exit; }
if(eregi('order(.*)by',$get_ar[$i])){ header("Location: http://xakep.ru"); exit; }
}
$post_ar = array_values($_POST);
$c_a_p = count($post_ar);
for ($i = 0;$i < $c_a_p;$i++){
if(eregi('union(.*)select',$post_ar[$i])){ header("Location: http://xakep.ru"); exit; }
if(eregi('order(.*)by',$post_ar[$i])){ header("Location: http://xakep.ru"); exit; }
}
Данный способо будет обрабатывать все post и get переменные которые передаются скрипту и при попытке выполнить команду например union select будет происходить редирект на сайт журнала Хакер, либо можно его поменять на свой сайт и это будет аналогично переходу на вашу главную страницу.
Комментарии
Отправить комментарий