Показать сообщение отдельно
Alexander-V-Sh вне форума      Старый #3  
Аватара для Alexander-V-Sh
Alexander-V-Sh
Бывалый
Регистрация: 19.04.2006
Сообщения: 352


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Alexander-V-Sh Посетить домашнюю страницу Alexander-V-Sh Найти все сообщения от Alexander-V-Sh Добавить Alexander-V-Sh в список друзей  
10.08.2006, 01:54

Soniks

как правильно написать запретные слова чтобы вообще в ссылках не попадались, нигде, хоть вначале, хоть в середине, хоть как. :)

например пишу (а еще используется <[^>]* например в других строках)
(eregi("UNION", $secvalue)) ||

а modules.php?name=News&UNION нормально проходит...

Просто прочитал статейку про иньекции, где нет проверки переменных. Там как раз в строчку эта дрянь и вбивается. Проверки то ставлю, но вдруг где пропустил... модулей то и функций полно...

Или всетаки писать так :
(eregi("UNION", $secvalue)) ||
(eregi("SELECT", $secvalue)) ||
(eregi("INTO", $secvalue)) ||
(eregi("[", $secvalue)) ||
(eregi("]", $secvalue)) ||
(eregi("UPDATE", $secvalue)) ||
и т.д.

И этого достаточно чтобы блокировать нежелательные строки?
А то что modules.php?name=News&UNION проходит - ничего страшного, т.к. не угрожает, в отличч от modules.php?name=News&op=UNION, которая блокируется.