Анализировать алогит возможно на основе регулярных интервалов для проверки на ботов и пауков - PullRequest
0 голосов
/ 24 февраля 2011

Я пытаюсь создать скрипт, который показывает мне список IP-адресов, которые являются ботами / пауками.

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

Я заметил, что многие боты имеют регулярные интервалы, они отправляют запрос каждые 2 или 3 секунды.Есть ли простой способ показать эти шаблоны с помощью запроса или PHP-скрипта?Или, что еще сложнее, я думаю, существует ли алгоритм, который может распознавать этих ботов / пауков.

DB:

CREATE TABLE IF NOT EXISTS `access_log` (
  `IP` varchar(16) NOT NULL,
  `datetime` datetime NOT NULL,
  `method` varchar(255) NOT NULL,
  `status` varchar(255) NOT NULL,
  `referrer` varchar(255) NOT NULL,
  `agent` varchar(255) NOT NULL,
  `site` smallint(6) NOT NULL
);

1 Ответ

0 голосов
/ 24 февраля 2011

Официальные боты будут идентифицировать себя. Есть список на http://www.robotstxt.org/db.html

Для неофициальных, я думаю, вы можете попробовать поискать некоторые из следующих:

  • Запросы страниц без других запросов ресурсов (изображения, CSS, JavaScript и т. Д.)
  • Странные URL-запросы (множество запросов на страницы входа, особенно те, которые не существуют, такие как wp-admin на сайте drupal)
  • Последовательный просмотр страницы за короткий промежуток времени
  • Точно такие же подписи URL, приходящие с разных IP-адресов
  • Нет HTTP-реферера для IP-адресов, которые вы никогда не видели раньше
  • Лот комментариев в короткой сессии
  • Запросы от публичных прокси-серверов

Это кое-что из того, что я заметил в надоедливых ба *** с, которые все равно пытаются очистить и спамить мой сайт. Некоторые из них, вероятно, потребуется объединить, чтобы отфильтровать реальные запросы с такими же характеристиками.

...