Наши веб-сайты регулярно сканируются похитителями контента. Мы, очевидно, хотим пропустить хороших ботов и законную активность пользователей, но заблокировать сомнительную активность.
Мы пробовали блокировку IP-адресов на нашем брандмауэре, но теперь это делается для управления списками блокировки. Также мы использовали IIS-обработчики, однако это усложняет наши веб-приложения.
Кто-нибудь знаком с сетевыми устройствами, межсетевыми экранами или службами приложений (например, для IIS), которые могут уменьшить или устранить парсеры контента?
Если парсеры являются ботами, а не людьми, вы можете попробовать создать каталог приманок, в который они будут сканировать и автоматически блокировать (по IP-адресу) с помощью сценария «страницы по умолчанию» в этом каталоге. Люди могут легко разблокировать себя, но это помешает ботам, так как они получат ошибку 403 «не авторизован» при любом дальнейшем доступе. Я использую подобную технику, чтобы блокировать плохих роботов, которые не подчиняются robots.txt, но не блокируют навсегда людей, которые либо используют один и тот же IP-адрес, либо «случайно» переходят к сценарию блокировки. Таким образом, если общий IP-адрес заблокирован, это не навсегда. Вот как:
Я установил страницу по умолчанию (созданную по сценарию) в одном или нескольких подкаталогах (папках), заблокированных в robots.txt. Эта страница, если она загружена некорректным роботом или шпионящим человеком, добавляет свой IP-адрес в список заблокированных. Но у меня есть обработчик ошибок 403 («не авторизован»), который перенаправляет эти заблокированные IP-адреса на страницу, объясняющую, что происходит, и содержащую капчу, которую человек может использовать для разблокировки IP. Таким образом, если IP-адрес заблокирован из-за того, что один человек использовал его один раз с плохой целью, следующий человек, который получит этот IP-адрес, не будет заблокирован навсегда - просто это немного неудобно. Конечно, если конкретный IP-адрес продолжает часто повторно блокироваться, я могу предпринять дальнейшие шаги вручную, чтобы решить эту проблему.
Вот логика:
Это оно! Один файл сценария для обработки уведомления о блокировке и разблокировки подачи капчи. Одна запись (минимум) в файле robots.txt. Одно перенаправление 403 в файле htaccess.
Вам нужен аппаратный брандмауэр, который выполняет проверку HTTP. Боюсь, это будет недешево.
Мне кажется, я припоминаю, что это сделает Cisco ASA 5520, но прейскурантная цена одного из них составляет около 4600 фунтов стерлингов ~ = 6900 долларов.
Вы, вероятно, могли бы сделать что-то подобное с Linux-сервером с приложением брандмауэра за небольшую часть стоимости.
Проверить заголовки запроса? В зависимости от того, детишки они или нет, может хватить