
05.01.2007, 07:00
|
|
Участник форума
Регистрация: 04.01.2007
Сообщений: 112
Провел на форуме: 179531
Репутация:
48
|
|
Вот мой способ предотвратить какие либо попытки SQL injection или XSS
PHP код:
function var_chek($var,$col){
$var = substr($var, 0, $col);
$var = preg_replace("/[^\w\x7F-\xFF\s]/", " ", $var);
$good = ereg_replace(" +", " ", $var);
$good = strip_tags($good);
return $good;
}
$var=var_chek($_GET['var'],4);
Если значение $var это просто передаваемый индекс для выборки из базы то достаточно его обрезать до 4-х символов, в 4 символа точно ничего не впишешь...
А если идет запись данных в базу то вот пример работы скрипта:
PHP код:
/*В переменную VAR передадим код ну к примеру
такой - "><script>alert()</script>*/
$var=$_GET['var'];
mysql_query("INSERT INTO base SET text='".var_chek($var)."'");
/*И в базу уйдут такие данные - script alert script , И
даже если будете передавать SQL инжекцию то
данные будут записаны в базу просто как такст!*/
|
|
|