Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Подсчет и стата посещений ботов Yahoo|MSN|Google |

08.01.2009, 01:01
|
|
Участник форума
Регистрация: 08.05.2007
Сообщений: 164
Провел на форуме: 466673
Репутация:
784
|
|
Подсчет и стата посещений ботов Yahoo|MSN|Google
1.Скрипт bot_count.php (инклудим в свою страницу)
PHP код:
<?php
if(eregi("googlebot|msn|yahoo",$HTTP_USER_AGENT))
{
//создаем файл со статой
if(!is_file('bot_log') || filesize('bot_log')==0)
{
$fp = @fopen("bot_log","w");
@flock ($fp, LOCK_EX);
@fputs($fp,"0|0|0\n0|0|0\n");
@flock ($fp, LOCK_UN);
@fclose($fp);
}
//считываем файл со статой
$arr_bot=file('bot_log');
$bot_count=$arr_bot[0];
$time_bot_count=$arr_bot[1];
$bot_count=explode('|',$bot_count);
$GOOGLE_COUNT=(int)$bot_count[0];
$YAHOO_COUNT=(int)$bot_count[1];
$MSN_COUNT=(int)$bot_count[2];
$time_bot_count=explode('|',$time_bot_count);
$GOOGLE_TIME=$time_bot_count[0];
$YAHOO_TIME=$time_bot_count[1];
$MSN_TIME=$time_bot_count[2];
//пишем гуглбота в стату
if(eregi("googlebot",$HTTP_USER_AGENT))
{
$str_to_log = (++$GOOGLE_COUNT).'|'.$YAHOO_COUNT.'|'.$MSN_COUNT."\n";
$str_to_log .= time().':::'.$PHP_SELF.'?'.$QUERY_STRING.':::'.$HTTP_USER_AGENT.':::'.$REMOTE_ADDR.'|'.$YAHOO_TIME.'|'.$MSN_TIME;
$fp = @fopen("bot_log","w");
@flock ($fp, LOCK_EX);
@fputs($fp,$str_to_log);
@flock ($fp, LOCK_UN);
@fclose($fp);
}
//пишем яху в стату
if(eregi("yahoo",$HTTP_USER_AGENT))
{
$str_to_log = $GOOGLE_COUNT.'|'.(++$YAHOO_COUNT).'|'.$MSN_COUNT."\n";
$str_to_log .= $GOOGLE_TIME.'|'.time().':::'.$PHP_SELF.'?'.$QUERY_STRING.':::'.$HTTP_USER_AGENT.':::'.$REMOTE_ADDR.'|'.$MSN_TIME;
$fp = @fopen("bot_log","w");
@flock ($fp, LOCK_EX);
@fputs($fp,$str_to_log);
@flock ($fp, LOCK_UN);
@fclose($fp);
}
//пишем мсн в стату
if(eregi("msn",$HTTP_USER_AGENT))
{
$str_to_log = $GOOGLE_COUNT.'|'.$YAHOO_COUNT.'|'.(++$MSN_COUNT)."\n";
$str_to_log .= $GOOGLE_TIME.'|'.$YAHOO_TIME.'|'.time().':::'.$PHP_SELF.'?'.$QUERY_STRING.':::'.$HTTP_USER_AGENT.':::'.$REMOTE_ADDR;
$fp = @fopen("bot_log","w");
@flock ($fp, LOCK_EX);
@fputs($fp,$str_to_log);
@flock ($fp, LOCK_UN);
@fclose($fp);
}
}
2. Создаем файл stats.php
PHP код:
<html>
<title>Bots stat</title>
<body>
<p>
<?php
$data=file('bot_log');
if (!empty($data[0]))
{
$count=$data[0];
list($GOOGLE_COUNT,$YAHOO_COUNT,$MSN_COUNT)=explode('|',$count);
$bots=$data[1];
list($GOOGLE_BOT,$YAHOO_BOT,$MSN_BOT)=explode('|',$bots);
print '<b>Google bot</b> был здесь <b><font color="red">'.$GOOGLE_COUNT.'</font></b> раз<br/>';
list($g_time,$g_path,$g_agent,$g_ip)=explode(':::',$GOOGLE_BOT);
print '<b>'.date('d.m.Y H:i:s',$g_time).'</b> '.$g_path.' <i>'.$g_agent.' ('.$g_ip.')</i>';
print '<hr/>';
list($y_time,$y_path,$y_agent,$y_ip)=explode(':::',$YAHOO_BOT);
print '<b>Yahoo bot</b> был здесь <b><font color="red">'.$YAHOO_COUNT.'</font></b> раз<br/>';
print '<b>'.date('d.m.Y H:i:s',$y_time).'</b> '.$y_path.' <i>'.$y_agent.' ('.$y_ip.')</i>';
print '<hr/>';
list($m_time,$m_path,$m_agent,$m_ip)=explode(':::',$MSN_BOT);
print '<b>MSN bot</b> был здесь <b><font color="red">'.$MSN_COUNT.'</font></b> раз<br/>';
print '<b>'.date('d.m.Y H:i:s',$m_time).'</b> '.$m_path.' <i>'.$m_agent.' ('.$m_ip.')</i>';
}
?>
</p>
</body>
</html>
3.Создаем файл bot_log и открываем на запись
---
Все) Теперь у вас есть подробная и простая стата по посещениям ботов основных поисковиков (по коду Яшу и иже с ними легко добавить самому)
Последний раз редактировалось M4g; 12.01.2009 в 02:05..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|