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, которая блокируется.
|