|
 2.8 Кб |
|
| Поисковые роботы могут имитировать существенную активность посетителей сайта, поэтому для подсчета статистики желательно это учесть.
В счетчике "PowerCounter" игнорируются роботы Яндекс, Гугль, Рамблер и еще некоторые другие, но в действительности их гораздо больше. В прилагаемом файле есть список из 250 ботов. Когда я подключил его к нижеследующему коду, то показания счетчика уменьшились очень заметно.
В общем, может кому пригодится.
// Отделяем роботов
function IsBot($filename)
{
global $_SERVER;
$user = $_SERVER["HTTP_USER_AGENT"];
if ($user == "")
return true;
if (file_exists($filename))
{
$f = file($filename);
foreach ($f as $v)
{
$v = preg_quote(trim(preg_replace("/[\r\n]+/", "", $v)));
if (eregi($v, $user))
return true;
}
}
return false;
}
if (!IsBot("user_agents.txt")) // Это не роботы
{
// Коды обработки посетителей
}
|
| |
|
|
|
|
|
|
|
для: Владимир55
(04.01.2009 в 20:51)
| | Самый лучший способ отделения роботов - аякс. "Посещаемость" падает сразу в 100 - 1000 раз. | |
|
|
|
|
|
|
|
для: coloboc66
(04.01.2009 в 22:50)
| | Угу)
У меня JS в Iceweasel`е блокируется NoScript`он
Я, робот (C):)
По теме: этим не только роботов отрубить получится, но и кучу посторонних
Вообще на 100% роботов отделить нельзя, т.к. UserAgent чрезвычайно легко подделывается. | |
|
|
|
|
|
|
|
для: pini-pini
(04.01.2009 в 23:23)
| | А зачем это нормальному посетителю? | |
|
|
|
|
|
|
|
для: BinLaden
(05.01.2009 в 01:09)
| | >А зачем это нормальному посетителю?
Имеется в виду, что роботы подделываются под нормальных посетителей. | |
|
|
|
|
|
|
|
для: cheops
(05.01.2009 в 14:57)
| | Спасибо за файлик ;) | |
|
|
|