Обнаружение автоматических веб-запросов - PullRequest
1 голос
/ 25 августа 2011

Мы пытаемся получить лучший показатель для количества автоматических запросов, поступающих на наш сайт.Наш сайт обслуживает много данных, но также и веб-страниц.Легко отличить обслуживаемые веб-страницы от обслуживаемых файлов данных, но некоторые обслуживаемые файлы данных были сгенерированы с помощью запросов вручную через веб-страницу.Автоматические запросы обычно извлекают данные напрямую, используя такие программы, как curl или wget.

Наша текущая практика заключается в том, чтобы периодически просматривать строки пользовательских агентов и делать выводы на основе пользовательского агента (например, wget), что этоавтоматизированный запрос.Проблема в том, что новые агенты добавляются все время, поэтому мы за кривой.Но также некоторые из тех, кто извлекает данные автоматически, подделывают их, используя строки User Agent, которые утверждают, что они являются браузерами, а не нет.

Мне пришло в голову, что, основываясь на записи журнала Apache, мы можем определить«Javascript включен», тогда человек отправил запрос.Это не идеально, но было бы лучше и более портативно, чем то, что мы имеем сейчас.Если мы обнаружим, что он выключен, мы можем считать его автоматическим запросом.

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

Ответы [ 3 ]

2 голосов
/ 25 августа 2011

Вы можете взглянуть на http://nsg.cs.princeton.edu/publication/robot_usenix_06.pdf

1 голос
/ 25 августа 2011

Нет прямого способа заставить Apache обнаруживать, активирован ли JS на клиенте.

Наиболее удобный подход - просто посмотреть, какие IP-адреса ответственны за необычно большое количество запросов, и запретить их.Фактически это может быть автоматизировано, например, путем подсчета IP-адресов и отправки 403 ошибок, когда IP-адрес слишком активен.

1 голос
/ 25 августа 2011

Вы можете сохранить белый список, а не черный список.Пользователи сообщат вам, если они не смогут получить ваш контент с помощью браузера XYZ, и вы сможете добавить их.

...