![]() |
Защита от SQL-enjection
Короче нужна такая функция, которай я передаю переменную, а она ее обрабатывает и делает безопасной от XSS и SQL-enjection. Функция должна изменять переменную в своем теле (по ссылке), и если переменная была опасна вернуть TRUE иначе FALSE.
Вот что получилось у меня: Код:
<?phpКод:
$name=$_POST["name"];Я фигово разбираюсь во всех атаках, поэтому прошу добавить/исправить код, чтобы он был неуязвим )) даже в том случае, если эту переменну прийдеться использовать дальше как в БД, так и выводить в страницу. |
ИМХО Проще не замарачиваться, а пользоваться функциями ereg() и htmlspecialchars(), проще явно указать - что можно, а не то что нельзя использовать, а в твоём случае пройдёт такой запрос -
Код:
union select 1,2,3,4,5#Код:
if(!ereg("[A-Za-z]{1,8}",$name) |
да сопри из любого форума или КМС, так есть такие функции, просто иногда забывают их применять к переменным
|
спасибо, решил использовать вместо strpos функцию ereg, а вместо str_replace ereg_replace. Тока недоганю как составить правильный шаблон для функций ereg. Помогите плз, чтобы он пропул русские, английские буквы, точку, запятую и цифры. Как должен выглядеть шаблон
Цитата:
|
Simple Machine Forums
Код:
function db_query($db_string, $file, $line) |
Код:
if(!ereg("[А-Яа-яa-zA-Z0-9]{1,8}",$_POST['post'])){echo "Error";exit;} |
2Гема
и что это? Эта функция очень далека от того, что надо мне? |
Цитата:
|
Нет тут, только - точка, запятая, кавычка, всё остальное добавляешь в квадратные скобки подряд, только дефис нужно обязательно в конец.
P.s. пробел тоже надо вставлять сори не ту строку те кинул вот - if(!ereg("[А-Яа-яa-zA-Z0-9',.; -]{1,8}",$_POST['post'])){echo "Error";exit;} |
Цитата:
|
| Время: 18:22 |