Показать сообщение отдельно

  #4  
Старый 25.04.2009, 13:19
PaCo
Постоянный
Регистрация: 06.02.2008
Сообщений: 494
Провел на форуме:
1754802

Репутация: 380
По умолчанию

Цитата:
Сообщение от mailbrush  
Pashkela, если ты не в курсе, Символ "i" после закрывающего ограничителя шаблона означает регистронезависимый поиск.

Бургер, вот с функцией:
PHP код:
<?
$array
=array('union','select','and','orx','\+');
$string="http://site.ru/script.php?id=1+union+select+1";
foreach(
$array as $value)
{
$pattern="#".$value."#i";
if(
preg_match($pattern,$string))
{
$string=preg_replace($pattern,false,$string);
$function="echo '<h1>Попытка взлома!</h1>';"//функкция
}
}
echo 
$string;
@eval(
$function);
?>
Если не нужны сложные замены то предпочтительней использовать str_ireplace(str_replace в 4 ветки с извратом strtolower или strtoupper ), во вторых представь ситуацию preg_match($pattern,$string) вернет 0 замен и у нас будет возможность перезаписать $function (переменые переменых, Global Owerwrite и etc ) то мы получем шелл
 
Ответить с цитированием