Какие существуют опции для обнаружения веб-сканеров, которые не хотят быть обнаружены?
(Я знаю, что методы обнаружения списков позволят умному программисту-разработчику скрытности сделать лучшего паука, но я не думаю, что мы когда-либо будем блокировать интеллектуальных сканеров скрытности в любом случае, только те, которые совершают ошибки. )
Я не говорю о хороших сканерах, таких как googlebot и Yahoo! Slurp. Я считаю, что бот хорош, если он:
- идентифицирует себя как бот в строке пользовательского агента
- читает файл robots.txt(и подчиняется ему)
Я говорю о плохих искателях, скрываясь за обычными агентами пользователя, используя мою пропускную способность и никогда не давая мне ничего взамен.
Есть некоторые ловушки, которые можно построить обновленный список (спасибо Chris, gs):
- Добавление каталога, указанного только в списке (помечено как запрет) в файле robots.txt,
- Добавление невидимых ссылок (возможно, отмеченных как rel= "nofollow"?),
- style = "display: none;" по ссылке или родительскому контейнеру
- помещается под другим элементом с более высоким z-индексом
- определить, кто не понимает капитализацию,
- обнаруживает, кто пытается публиковать ответы, но всегда отказывается от Captcha.
- обнаруживает запросы GET для ресурсов только для POST.
- определить интервал между запросами
- определить порядок запрошенных страниц
- определить, кто (последовательно) запрашивает https-ресурсы по http
- определить, кто не запрашивает файл изображения (это в сочетании со списком пользовательских агентов известных браузеров, способных работать с изображениями, работает на удивление хорошо).
Некоторые ловушки будут вызваны как "хорошими", так и "плохими" ботами. вы можете объединить их с белым списком:
- Он вызывает ловушку
- Запрос
robots.txt
? - Это не приведет к запуску другой ловушки, потому что она подчиняется
robots.txt
Еще одна важная вещь:
Пожалуйста, обратите внимание на слепых людей, использующих устройства для чтения с экрана: дайте людям способ связаться с вами или разрешите Captcha (не изображение), чтобы продолжить просмотр.
Какие существуют методы автоматического обнаружения веб-искателей, пытающихся замаскировать себя как обычных посетителей.
Update
Вопрос не в следующем: как я поймаю каждого искателя. Возникает вопрос: как я могу максимизировать вероятность обнаружения искателя.
Некоторые пауки действительно хороши и на самом деле разбирают и понимают html, xhtml, css javascript, VB script и т.д.
У меня нет иллюзий: я не смогу их победить.
Вы, однако, удивляетесь, насколько глупые некоторые искатели. С лучшим примером глупости (на мой взгляд) было: отбросить все URL-адреса до нижнего регистра, прежде чем запрашивать их.
И тогда есть целая куча сканеров, которые просто "недостаточно хороши", чтобы избежать различных ловушек.