Я написал себе очень сильный класс защиты "BlockIp", который может использовать черный список с IP-адресами, обнаруживать странные IP-конфигурации и блокировать прокси. Когда он нашел его, я получаю подробное электронное письмо о посетителе и о том, почему он заблокирован, и о том, что он хочет попробовать (раз в день, конечно). Кажется, что это работает очень хорошо, потому что в прошлом я получил несколько реальных атак, которые были заблокированы этим классом. Он не блокирует легальных ботов, но это не легко проверить, что метод обнаружения является правильным.
Сегодня я получил письмо от класса, в котором он заблокировал "ycar10.mobile.bf1.yahoo.com", он идентифицирует себя как робот Yahoo, но был за прокси. Я ищу в сети, если он был в черном списке, но не нашел, что он в черном списке. Таким образом, вопрос заключается в следующем: правильно ли блокировать ботов за прокси-сервером (в любом случае использовать легальные боты-прокси?)? Вот некоторая информация о боте:
HTTP_ACCEPT = */*
HTTP_X_FORWARDED_FOR = 107.38.3.137, 98.137.88.60
HTTP_USER_AGENT = YahooCacheSystem
PATH = /sbin:/bin:/usr/sbin:/usr/bin
SERVER_SIGNATURE =
SERVER_SOFTWARE = Apache/2.2.14
SERVER_PORT = 80
REMOTE_ADDR = 98.139.241.249
REMOTE_PORT = 53863
GATEWAY_INTERFACE = CGI/1.1
SERVER_PROTOCOL = HTTP/1.1
REQUEST_METHOD = GET
QUERY_STRING =
REQUEST_URI = /
SCRIPT_NAME = /index.php
PHP_SELF = /index.php
REQUEST_TIME = 1330923844
В противном случае, есть ли тестовый набор (комплект / симулятор), чтобы можно было проверить правильность поведения легального бота (только основные, такие как: Google, Yahoo, Bing), чтобы убедиться, что я использовал правильный метод обнаружения. Есть несколько симуляторов, но большинство из них не работают должным образом, и следующий вопрос: «Могу ли я доверять этому ...».
* Примечание. Как видно из приведенных выше сведений, используется значение REMOTE_PORT 53863, какой тип порта 53863? *
Надеюсь, вы понимаете мой вопрос, если нет, напишите здесь.