поставил на сайт простенькую статистику (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 |
Цитата |
-----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 секунды запрос. Куки то ставятся, то меняются. |
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;
}
}