Я использую управление входом в ASP.NET в своем веб-приложении. Я хочу показать забавный тип ошибки на этикетке, когда это исключение возникает System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client
оно возникает, когда пользователь пытается выполнить атаку с использованием sql-инъекции или некоторые операции HTML или SCRIPT, введя их в текстовое поле Username элемента управления Login. Я пробовал много вещей, таких как включение логина аутентификации в блок try catch и перехват исключения System.Web.HttpRequestValidationException
, который также проделал то же самое для события, созданного мной, так же, как onTextChange для Username TextBox. Но все эти попытки провалились. Подскажите, пожалуйста, как проверить это исключение и показать злоумышленнику приятное забавное сообщение?
Отображается настраиваемое сообщение об ошибке при исключении: от клиента обнаружено потенциально опасное значение Request.Form
comment
Не могли бы вы привести пример того, как выглядит код в отношении того, что вы пытаетесь выполнить .. ?? Благодарность
- person MethodMan   schedule 31.05.2012
comment
Если вы используете IIS7 +, здесь есть более простое решение: - stackoverflow.com/questions/30071341/
- person Iain Galloway   schedule 06.05.2015
Ответы (1)
Вот несколько примеров того, как предоставить более удобное сообщение об ошибке:
http://romsteady.blogspot.com/2007/06/how-to-catch-httprequestvalidationexcep.html
Как отловить HttpRequestValidationException в рабочей среде
Следует иметь в виду, что это исключение создается до того, как произойдет код страницы. Таким образом, вы обычно не можете обнаружить ошибку в коде вашей страницы, а только в Application_Error.
Я сам не пробовал, но этот сайт предоставляет альтернативный способ разрешить код вашей страницы для выполнения, но при этом защитить себя от злонамеренного ввода с помощью встроенной логики, а также отлова исключения в собственном коде.
person
slolife
schedule
31.05.2012