Захват\защита от пауков

Существует сайт\ресурс, который предлагает некоторую общую статистическую информацию, а также интерфейс для поиска. Эти поисковые операции являются дорогостоящими, поэтому я хочу ограничить частые и непрерывные (т.е. автоматические) поисковые запросы (от людей, а не от поисковых систем).

Я полагаю, что существует много существующих методов и сред, которые обеспечивают некоторую защиту от захвата разведывательных данных, поэтому мне не нужно изобретать велосипед. Я использую Python и Apache через mod_wsgi.

Я знаю о mod_evasive (попробую его использовать), но меня также интересуют любые другие методы.


person Roman Bodnarchuk    schedule 19.12.2011    source источник


Ответы (2)


Если кто-то охотится именно за вашим сайтом и данные там действительно достойные - в этом случае достаточно умного злоумышленника ничто не остановит.

Хотя есть некоторые вещи, которые стоит попробовать:

  • Сохраняйте счетчики использования поиска с определенных IP-адресов и пользовательских агентов. Блокируйте их при достижении некоторых минутных/часовых/дневных порогов.
  • Используйте черные списки потенциально опасных IP-адресов или уровней угроз (например, вы можете использовать API Cloudflare для этого)
  • Кэшируйте частые результаты поиска, чтобы сделать их менее затратными
  • Это, наверное, немного сумасшествие, но вы можете отображать эту статистику на изображениях или с помощью flash/java-апплетов — это сделает их гораздо более сложными для захвата.
  • Немного похоже на предыдущий: используйте какой-нибудь хитрый API для доступа к результатам поиска, например, это может быть ProtocolBuffers через WebSockets. Так что кому-то, вероятно, понадобится полноценный браузер, чтобы получить это, или, по крайней мере, придется придумывать какие-то хитрости вокруг node.js. Недостаток — вы потеряете законных клиентов, использующих старые браузеры.
person Ivan Blinkov    schedule 01.11.2012

Вы можете попробовать файл robots.txt. Я считаю, что вы просто поместили его в корень своего приложения, но на этом веб-сайте должно быть больше деталей. Синтаксис Disallow — это то, что вам нужно.

Конечно, не все роботы его уважают, но все они должны. Все крупные компании (Google, Yahoo и т. д.) будут.

Вас также может заинтересовать этот вопрос о запрете динамических URL-адресов .

person Peter Downs    schedule 19.12.2011
comment
Ну, на самом деле я страдаю не от Google или Yahoo, а от людей, которые не будут уважать robots.txt :) - person Roman Bodnarchuk; 19.12.2011
comment
Ах, тогда это меняет дело :) Может быть, добавить это к вашему вопросу? - person Peter Downs; 19.12.2011