Забанить бота bingbot

Опубликовано 2016.03.24

Забанить эту сволоту можно в к конфиге Nginx. В директории server добавьте следующий код.
  1. if ($http_user_agent ~ bingbot) {
  2. return 503;
  3. }
После этого вашему серверу полегчает. Да, не забываем сделать :
  1. service nginx reload
Потом вы можете легко проверить, работает ли данное правило.
  1. $opts = array(
  2. 'http' => array('user_agent' => 'Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)')
  3. );
  4. $context = stream_context_create($opts);
  5. $res = file_get_contents("your site url", false, $context);
Если получите что-то типа:
  1. <code>
  2. <head><title>503 Service Temporarily Unavailable</title></head>
  3. <body bgcolor="white">
  4. <center><h1>503 Service Temporarily Unavailable</h1></center>
  5. <hr /><center>nginx/1.2.1</center>
  6. </body>
то значит вы всё сделали нормально. В сети люди делятся способами по бану этого бота через robots.txt, .htaccess и даже каких-то модулей для джумлы. Всё это херня, они бы ещё в шапке написали "Бингботу доступ закрыт". Ещё по-идее сработает php`шный код, который будет стопиться при проверке юзер агента, но в этом случае бот всё-равно дойдёт до сервера и вы частично избавитесь от `DOS-атаки на приложение`, а не на сервер.