Советы по использованию honeypot img tag для обнаружения скребков / плохих ботов - PullRequest
5 голосов
/ 08 сентября 2011

Мы хотим настроить небольшое изображение приманки в наших html-телах для обнаружения скребков / плохих ботов.

Кто-нибудь настраивал что-то подобное раньше?

Мы думали, что это лучший способперейти на это будет:

a) Прокомментируйте html с помощью:

<!-- <img src="http://www.domain.com/honeypot.gif"/> -->

b) Примените стили CSS к изображению, которое сделает его скрытым от браузеров с помощью:

.... id="honeypot" ....

#honeypot{
    display:none;
    visibility:hidden;
}

Используя вышеперечисленное, кто-нибудь предвидит какие-либо ситуации, когда правильный и реальный пользовательский агент извлечет изображение / попытается его отрендерить?

honeypot.gif будет php-скриптом mod_rewritten, где мы будем делатьнаше ведение журнала.

Хотя я понимаю, что вышеупомянутые 2 условия могут быть пропущены любым хорошо закодированным скребком, это, по крайней мере, пролило бы некоторое представление на очень грязные.

Любые другие указатели относительнолучший способ пойти на это?

Ответы [ 2 ]

3 голосов
/ 08 сентября 2011

Бот будет игнорировать ваш тег img, потому что он находится внутри комментария.

Вместо этого вы можете рассмотреть возможность создания невидимого div, который содержит ссылку на URL-адрес триггера на том же сайте (предпочтительно в том же каталоге,если бот чувствителен к глубине).

0 голосов
/ 08 сентября 2011

IMO Я думаю, что любой хороший скребок узнает, как передать HTML, используя SGML parser, и просто пропустит закомментированное изображение, но я могу ошибаться.

Самое большее, это даст вам представление о том, когда это произойдет, но не предоставит способ противостоять скребку. Вам, вероятно, будет лучше придумать какое-нибудь решение на основе файлов cookie, так как большинство ботов, вероятно, не заботятся об этом. Вы также можете рандомизировать пути к изображениям между запросами и истечь их через короткий промежуток времени.

Проверка реферера очевидна, если вам не нужны браузеры, которые их не поддерживают, или люди, которые их скрывают / изменяют.

...