Назад | Перейти на главную страницу

Бот с заблокированным ip по-прежнему вызывает исключения на сервере

Я управляю сайтом, который «атакует» очень глупый бот. Бот все время пытается выполнить одни и те же запросы, он всегда получает неверный ответ на запрос, поскольку ASP.NET обнаруживает, что «от клиента обнаружено потенциально опасное значение Request.Path».

Я попытался добавить IP-адрес бота к своим запрещенным IP-адресам через файл IIS / Web.config (ipSecurity) / .htaccess (Helicon ape), в целом он работает и блокирует ip от "обычных" запросов. Но когда бот пытается получить доступ к своим странным URL-адресам, например mydomain.com/a.aspx/+[PLM=0pting+GET+http://bla.bla.com'серверы выдают исключение: System.Web.HttpException: от клиента обнаружено потенциально опасное значение Request.Path (:).

Я не хочу, чтобы мой слабый сервер даже пытался обработать любой запрос с этого IP-адреса, и уж тем более не генерировать исключения все время. Сервер находится на общем хосте, поэтому у меня не так много вариантов, как добавление маршрутизатора, такого как fortinet и т. Д., Который блокирует IP на более низком уровне.

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

В System.Web.HttpException: A potentially dangerous Request. генерируется ValidateInputIfRequiredByConfig() в System.Web/HttpRequest.cs. Эта проверка является встроенной и выполняется до вашей текущей блокировки IP, поэтому запрос просто никогда не попадает туда. Исключения являются лишь доказательством того, что проверка работает, и запрос больше не обрабатывается. Не волнуйся.

Если вам действительно нужно заблокировать IP перед обработкой запроса, вам нужно сделать это на уровне брандмауэра, как прокомментировал HBruijn.