Файл: test.masteram.us/guard/statistic.php
Строк: 85
<?php
include 'inc/head.php';
$sys->head('Информация о переходах по сайту');
if ($sys->confirm('clean','/guard/'))
{
mysql_query("DELETE FROM `guard_janitor`");
}
function info($info)
{
if (empty($info))
return 'пусто';
else
return $info;
} //проверка
function search($arg)
{
global $_GET;
if (isset($_GET["$arg"]))
return my_esc($_GET["$arg"]);
}
if (isset($_GET['filter']))
{
if ($_GET['filter']==1)
$ps['guard_filter']=1;
else
$ps['guard_filter']=0;
}
if (empty($ps['guard_filter']))
{
echo "<a href='?filter=1'>".$sys->icon('filter')." Включить фильтры</a><br />";
}
else
{
echo "<a href='?filter=0'>".$sys->icon('filter')." Выключить фильтры</a><br />";
echo "
<form method='GET' action='?page=".intval(!empty($page))."'>
<label><input type='checkbox' name='suspic'".(search('suspic')?' checked="checked"':null)."'> Только подозрительные запросы</label><br />
<input type='text' name='user' value='".search('user')."' size='5'> Пользователь (=ID)<br />
<input type='text' name='info' value='".search('info')."' size='5'> Броузер/ОС (%like%)<br />
<input type='text' name='php_self' value='".search('php_self')."' size='5'> PHP Self (например adm_panel)<br />
<input type='text' name='query_string' value='".search('query_string')."' size='5'> Query string (например id=1)<br />
<input type='text' name='ip' value='".search('ip')."' size='5'> IP (%like%)<br />
<input type='text' name='proxy' value='".search('proxy')."' size='5'> Proxy IP (%like%)<br />
<input type='text' name='referer' value='".search('referer')."' size='5'> Referer (%like%)<br />
от <input type='text' name='fspeed' value='".search('fspeed')."' size='2'> до <input type='text' name='tspeed' value='".search('tspeed')."' size='2'> Генерация (от # до #)<br />
<input type='submit' value='Фильтровать'></form>
";
}
echo '<a href="?clean">'.$sys->icon('no').' Очистить логи</a><br />';
$filter=null;
if (($param=search('suspic')))
$filter[]="`overload` = '1' OR `hack` = '1'";
if (($param=search('user')))
$filter[]="`user` = '$param'";
if (($param=search('php_self')))
$filter[]="`php_self` like '%$param%'";
if (($param=search('query_string')))
$filter[]="`query_string` like '%$param%'";
if (($param=search('ip')))
$filter[]="`ip` like '%$param%'";
if (($param=search('proxy')))
$filter[]="`proxy_ip` like '%$param%'";
if (($param=search('referer')))
$filter[]="`referer` like '%$param%'";
if (($param=search('fspeed')))
$filter[]="`speed` > '$param'";
if (($param=search('tspeed')))
$filter[]="`speed` < '$param'";
$sql->cycle('guard_janitor',($filter?implode(' AND ',$filter):null));
while($post=mysql_fetch_assoc($while))
{
if (empty($post['user']))
$ank='<font color="red">Неизвестный</font>';
else
{
$uank=get_user($post['user']);
$ank='<a href="/info.php?id='.$uank['id'].'">'.$uank['nick'].'</a>';
}
echo '<div class="post">
'.$sys->icon('step').'
'.$post['id'].') <b>'.$ank.'</b> ('.vremja($post['time']).')<br />
<b>Браузер/ОС</b>: '.info($post['user_agent']).'<br />
<b>IP</b>: '.info($post['ip']).'<br />
<b>Proxy IP</b>: '.info($post['proxy_ip']).'<br />
<b>Referer</b>: '.info($post['referer']).'<br />
<b>Адрес</b>: '.$post['php_self'].'?'.$post['query_string'].' ('.$post['method'].') '.($post['hack']==1?'<font color="red"><b>(попытка взлома)</b></font>':null).'<br />
<b>Генерация</b>: '.$post['speed'].' сек '.($post['overload']==1?'<font color="red"><b>(перегрузка сервера)</b></font>':null).'
</div>
';
}
echo '<a href="?clean">'.$sys->icon('no').' Очистить логи</a>';
include 'inc/foot.php';
?>