[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Изучение статистика посетителей (роботов)
sg.com
поставил на сайт простенькую статистику (ip, agent, referer, uri, time) и обнаружилось много левых запросов. В этом деле практики - сегодня первый день, поэтому создаю тему.

Вот, к примеру, такие запросы:
Цитата

46.119.112.87
Mozilla/4.0 (compatible; Powermarks/3.5; Windows 95/98/2000/NT)
2016-07-20 17:55:14
-----/blog/ ----http(две точие)//izoll.ru/ ---3

46.119.112.87
Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Opera 6.01 [en]
2016-07-20 17:55:14
-----/blog/ ----http(две точие)//angarsk.xrus.org/    ---3

178.137.163.41
Mozilla/4.0 (compatible; MSIE 5.0; Windows 2000) Opera 6.0 [en]
2016-07-20 17:45:41
-----/blog/ ----http(две точие)//orenburg.xrus.org/ ---2


с одного ip два referer (один со стройматериалов, другой от проституток). Смотрю xrus (это проститутки) делает запросы с разных ip (по 2 - 5 запросов с одного, затем с другого) Вопрос. Если такое банить то лучше по referer наверное? Хотя они нагрузку не создают, но в статистике это не нужно. Статистика нужно больше для изучения поведения полезных пользователей.

и такой вопрос, как лучше уводить ненужного робота (например такого, который делает 59 запросов за 3 минуты) в сторону (с помощью header или по другому, это МегаИндекс, или это полезный робот).

p..s. буду потихоньку наблюдать
sg.com
Вот есче такое есть:
Цитата


-----198.50.131.46 ----iskanie (+http://www.iskanie.com)

- время "бомбардировки" 16.06.37 - 16.07.37 (с одного ip, кукис не устанавливался,
реферал - всегда доменное имя моего сайта, все 23 раза);

- дальше тот же робот (но уже с установленным кукис, причем три по очереди установились),
время 16.07.39 - 16.10.40, 28(первая кука)+20(вторая)+8(третья) = 56 запросов,
реферал - все тот же домен сайта

Итого, каждые 3 секунды запрос. Куки то ставятся, то меняются.



вот и думаю, ажиотажа посетителей нет, а бывает что что-то виснет на сайте чуть дольше обычного.
FatCat
Вот мои наработки:
class SESSION{
var $bot_names = array(
'YandexBot' => 'YandexBot',
'yandex.com' => 'YandexBot',
'yandexblogs' => 'YandexBlogs',
'bingbot' => 'BingBot',
'Yahoo!' => 'YahooBot',
'yahoo.net' => 'YahooBot',
'ia_archiver' => 'Archive.org',
'MJ12bot' => 'MJ12bot',
'googlebot' => 'GoogleBot',
'google-proxy' => 'GoogleProxy',
'slurp@inktomi' => 'HotBot',
'ask jeeves' => 'AskJeeves',
'lycos' => 'LycosBot',
'whatuseek' => 'What_U_Seek',
'aport' => 'AportBot',
'yandexnews' => 'YandexNews',
'stackrambler' => 'RamblerBot',
'msnbot' => 'MSNBot',
'webalta' => 'WebAltaBot',
'Mail.Ru' => 'MailRuBot',
'bingbot' => 'BingBot',
'mj12bot' => 'MJ12Bot',
'exabot' => 'ExaBot',
'baiduspider' => 'BaiduSpider',
'hosttracker' => 'HostTracker',
'sputnikbot' => 'SputnikBot',
'blexbot' => 'BlexBot',
'Spiderbot/Nutch' => 'NutchBot',
'Nutch-1.2' => 'NutchBot',
'megaindex.com/crawler' => 'MegaindexBot',
'vk.com' => 'vkShareBot',
'SafeDNSBot' => 'SafeDNSBot',
'WBSearchBot' => 'WBSearchBot',
);

var $bad_bots = array(
'ahrefsbot' => 'AhrefsBot',
'crawl16.lp' => 'BadBotFR',
'crawler.007ac9' => 'GutteraBot',
'mfibot' => 'mfisoftBot',
'OpenLinkProfiler.org' => 'OpenLinkProfilerBot',
'ac9.net' => 'SpamBotFR',
'semrushbot' => 'SemRushBot',
'ezoomsbot' => 'EzoomsBot',
'istellabot' => 'IstellaBot',
'Java/1.6.0' => 'BadBotRO',
'SMTBot' => 'SMTBot',
'ltx71.com' => 'LTX71Bot',
'eth.pakt.spb.ru' => 'eth.pakt.spb.ru',
'sl-reverse.com' => 'sl-reverse.com',
'magpie-crawler' => 'MagpieCrawler',
'tcinet.ru/Bot' => 'TCInetBot',
'seokicks.de/robot' => 'SeoKicksBot',
'iskanie.com' => 'IskanieBot',
'SeznamBot' => 'SeznamBot',
'RukiCrawler' => 'RukiBot',
'DotBot' => 'DotBot',
);

var $user_agent = "";
var $resolved = "";
var $bot_name = "";

function session(){
// ловим мемберов по кукам, продлеваем сессии мемберов

$this->bot_names = array_merge($this->bot_names, $this->bad_bots);

// Опознаем ботов по юзерагенту
$this->user_agent = $std->clean_value($_SERVER['HTTP_USER_AGENT']);
foreach($this->bot_names as $k=>$v)if(stristr($this->user_agent, $k))$this->bot_name = $v;
// и пытаемся ресольвить:
if(!$this->bot_name)
{
$this->resolved = @gethostbyaddr($ibforums->input['IP_ADDRESS']);
if($this->resolved)foreach($this->bot_names as $k=>$v)if(stristr($this->resolved, $k))$this->bot_name = $v;
}

if($this->bot_name)
{
if(in_array($this->bot_name, $this->bad_bots)) // отдаем форму авторизации
else // продлеваем сессию бота

return;
}

// гостям продлеваем или создаем сессию.

return;
}
}


_____________
Бесплатному сыру в дырки не заглядывают...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.