ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: борьба с ботами средствам и nginx


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: борьба с ботами средствам и nginx
  • From: Nikolay Grebnev <nick@xxxxxxxxxxxx>
  • Date: Mon, 16 Mar 2009 16:50:29 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to :content-type; bh=Yt1TiW9L2soFQEMBpi4IahSSrpSBgnpp8hAPXSK6P+E=; b=YtOgcVbn8XJ+K2yCfZ2ci0HdJwJrXhkbC1cLf7dMmyV1v9/EptG4cXIuwyn0GmRpnF /x5RGC+07L3n3LYuYQndMS+yQPukZbLBkp7W4po+yJ1Dg1gjWX/WlZMqQZdjdEsmAoCU tEwrVCzEDvWGeyfpbNF83/t3Mh3v3M1yHSj00=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type; b=vOzTe3l/Rsx615GrG0kxy7SO1PC8LCzPxI4Bk5vbPz4UHh3VIuMUrw+u1/eWv/ZFx2 iwfULRskgVaTda+k5PTldDAr+DRSyy9shIbD5r8Id39bmMcQ/LkzLgYlhpIPGBn0oWKW 4GwDg1/YtrBfcPp5ncAXrvdDEtAYAnmwkoc6Q=
  • In-reply-to: <afa4ab8a0903160607m1403fc19hc4d61e8ccd411f61@xxxxxxxxxxxxxx>
  • References: <afa4ab8a0903160607m1403fc19hc4d61e8ccd411f61@xxxxxxxxxxxxxx>

Мне кажется что это некорректная постановка задачи.
Роботы - это кормильцы. Резать их неправильно.
Вам надо решать задачу с другой стороны - надо чтобы клиент имел некую планку по загрузке системы, и в ней уже мог извращаться как ему угодно. Если совсем никак то проще отказаться от клиента. Это и для него лучше.
Уверен, что он заплатил за раскрутку( чтобы пришли роботы) во много десятков раз больше, чем за Ваш хостинг. И если Вы будете его резать, это неправильно

2009/3/16 Roman Hlynovskiy <roman.hlynovskiy@xxxxxxxxx>
добрый день,

а у кого какой опыт есть борьбы с поисковыми ботами средствами nginx?

сегодня столкнулись с интересной проблемой - дурной клиент то-ли купил
сервис по seo-оптимизации, то-ли сам где-то научился, но его ресурс
обступили вкруговую поисковые боты.
одновременно 10-15 разных поисковых ботов начали активно индексировать
ресурс. все-бы ничего, но ресурс поднят на базе одного очень дурного
CMS разработчики которого видимо не в курсе что существуют понятия
индексов в БД.
в итоге получился небольшой DOS. сервер выдержал, но 'осадок' остался,
в виде очень нехороших iowait'ов.

хотел-бы узнать кто-как решает подобные наплывы ботов у себя?
закрывать полностью ip-адреса ботов тоже не вариант, т.к. речь идет о
шаред хостинге.

соответственно у меня возникло 2 различные идеи воплощения этой задачи;

1) разрешить только одному боту в одну единицу времени получать свой
честный 200, всем остальным - 503
2) разрешить не более одного коннекта с одного ip-адреса при условии
что user_agent соответствует некому набору бот-шаблонов.

попытался реализовать второй вариант через limit_conn следующим образом:

http {
   limit_zone   bots  $binary_remote_addr  16m;

  . . .

  server {

   if ($http_user_agent ~* "StackRambler|Yandex") {
   limit_conn bots 1;
  }


 }

}

на практике получил облом, т.к. limit_conn не может быть внутри if-а.
какие варианты тут могуть быть?

реализовывал-ли кто-нибудь что-нибудь подобное первому варианту?
у меня вообще не приходят мысли как может выглядеть подобная конфигурация.


--
...WBR, Roman Hlynovskiy



 




Copyright © Lexa Software, 1996-2009.