Файл: test.masteram.us/guard/inc/janitor.php
Строк: 49
<?php
$ps['janitor']=true;
if ($gsets['statistic']['state']==1) //запись статистики
{
list($msec, $sec) = explode(chr(32), microtime());
$speed=round(($sec + $msec) - $conf['headtime'], 3);
if ($speed>$gsets['server']['overload_time'])
{
$overload=1;
if ($gsets['server']['overload_state']==1)
{
$sys_ini->write('server','overload',($time+($gsets['server']['emergency_time']*60)));
//включаем аварийный режим
}
}
else
$overload=null;
mysql_query("INSERT INTO `guard_janitor` (`user`,`user_agent`,`ip`,`proxy_ip`,`referer`,`method`,`php_self`,`query_string`,`hack`,`overload`,`speed`,`time`) VALUES ('$user[id]','".mysql_real_escape_string($_SERVER['HTTP_USER_AGENT'])."','".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."','".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."','".mysql_real_escape_string(isset($_SERVER['HTTP_REFERER']))."','".mysql_real_escape_string($_SERVER['REQUEST_METHOD'])."','".mysql_real_escape_string($_SERVER['PHP_SELF'])."','".my_esc($_SERVER['QUERY_STRING'])."','$guard_hack','$overload','$speed','$time')");
}
$sys_ini->updateFile(); // скидываем информацию в ini файл
if (empty($gsys['statistic']['last_clear']))
$sys_ini->write('statistic','last_clear',$time);
if ($gsets['statistic']['clear']==1 && ($gsys['server']['overload']<$time || empty($gsets['server']['overload_state']))) //автоматическая очистка статистики
{
if ($gsys['statistic']['last_clear']<($time-($gsets['statistic']['clear_interval']*86400)))
{
if ($gsets['statistic']['clear_action']=='move') //перемещаем статистику в файл
{
function info($info)
{
if (empty($info))
return 'пусто';
else
return $info;
} //проверка
$result=null;
$stats=mysql_query("SELECT * FROM `guard_janitor`");
while($post=mysql_fetch_assoc($stats))
{
if (empty($post['user']))
$ank='Неизвестный юзер';
else
{
$uank=get_user($post['user']);
$ank=$uank['nick'];
}
$result.='
# '.$post['id'].') '.$ank.' '.date('d.m.y',$post['time']).'
Браузер/ОС: '.info($post['user_agent']).'
IP: '.info($post['ip']).'
Proxy IP: '.info($post['proxy_ip']).'
Referer: '.info($post['referer']).'
Адрес: '.$post['php_self'].'?'.$post['query_string'].' ('.$post['method'].') '.($post['hack']==1?'(попытка взлома)':null).'
Генерация: '.$post['speed'].' сек '.($post['overload']==1?'(перегрузка сервера)':null);
}
$logs=@fopen(H.'guard/logs/'.date('d.m.y',$time).'.txt', 'w');
@fwrite($logs, $result);
@fclose($logs);
@chmod(H.'guard/logs/'.date('d.m.y',$time).'.txt', 0777);
mysql_query("DELETE FROM `guard_janitor`"); //удаляем старые данные
$sys_ini->write('statistic','last_clear',$time); //последняя очистка
}
else //удаляем устаревшую статистику
{
mysql_query("DELETE FROM `guard_janitor`");
}
}
}
?>