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

  #8  
Старый 15.02.2008, 22:41
Macro
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме:
1845062

Репутация: 1079


По умолчанию

Мой вариант:
PHP код:
<?
$log
=file_get_contents('access_log');
$patterns=array('union','select','substr','script','java','\'','"','\.\.','/\*'); //символы, которые используются в регулярных выражениях, надо экранировать обратным слешем.
for($k=0;$k<count($patterns);$k++)
{
$patterns[$k]='|.*'.$patterns[$k].'.*|i';
preg_match_all($patterns[$k],$log,$suspicious[$k]);
}
$out=array();
for(
$i=0;$i<count($suspicious);$i++)
{

foreach(
$suspicious[$i][0] as $v)
{
$v=trim($v);
if(!empty(
$v)&&!in_array($v,$out)){$out[]=$v;}}
}
$f=fopen('suspicious.txt','w');
fwrite($f,implode("\r\n",$out));
fclose($f);
?>

Последний раз редактировалось scrat; 15.02.2008 в 22:47.. Причина: плохо видно
 
Ответить с цитированием