Бот с заблокированным ip по-прежнему вызывает исключения на сервере
Я управляю сайтом, на который "нападает" очень глупый бот. Бот постоянно пробует одни и те же запросы, всегда получает неверный ответ на запрос, потому что ASP.NET обнаруживает "потенциально опасное значение Request.Path, обнаруженное клиентом".
Я пытался добавить IP-адрес бота в мои запрещенные ips через файл IIS/Web.config (ipSecurity)/. Htaccess (Helicon ape), в целом он работает и блокирует ip от "обычных" запросов. Но когда бот пытается получить доступ к своим странным URL-адресам, таким как "mydomain.com/a.aspx/+[PLM=0]+GET+ http://bla.bla.com/", сервер выдает исключение: System.Web.HttpException: От клиента было обнаружено потенциально опасное значение Request.Path (:).
Я не хочу, чтобы мой слабый сервер даже пытался обработать любой запрос с этого IP-адреса, конечно же, не выбрасывая исключения все время. Сервер находится на общем хосте, поэтому у меня не так много вариантов, таких как добавление маршрутизатора, такого как fortinet и т. Д., Который будет блокировать IP на более низком уровне.
Любая идея, как я могу убедить мой сервер всегда игнорировать запросы с этих конкретных IP-адресов, даже когда он пытается потенциально опасные запросы? Любые другие предложения, как справиться с этой ситуацией?
1 ответ
System.Web.HttpException: A potentially dangerous Request.
генерируется ValidateInputIfRequiredByConfig()
в System.Web/HttpRequest.cs
, Эта проверка встроена и выполняется перед блокировкой текущего IP-адреса, поэтому запрос просто не поступает. Исключения являются только доказательством того, что проверка работает, и запрос больше не обрабатывается. Не беспокойся
Если вам действительно нужно заблокировать IP перед любой обработкой запроса, вам нужно сделать это на уровне брандмауэра, как прокомментировал HBruijn.