HttpRequestValidationException, показывающий YSOD, несмотря на раздел customErrors

мы изменили наш раздел customErrors для защиты от недавней уязвимости ASP.NET.

Наша проблема заключается в том, что исключения HttpRequestValidationException теперь вызывают отображение YSOD, другие исключения и ошибки страницы не найдены показывают нашу пользовательскую страницу ошибок.

Если мы изменим redirectMode на ResponseRedirect, все будет работать нормально.

Это наш измененный раздел:

<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/Error.aspx"/>

Этот вопрос не имеет ничего общего с недавней уязвимостью ASP.NET! Он касается режима перенаправления ResponseRewrite в сочетании с HttpRequestValidationException. Мы знаем, что скоро будет патч и что мы можем вернуться к ResponseRedirect.

С уважением, Мартин


person Cubicle    schedule 28.09.2010    source источник


Ответы (1)


Это происходит, когда ваша страница ошибки генерирует ошибку.

Убедитесь, что вы отключили проверку запроса на странице ошибки. ‹%@ Page ValidateRequest="false" %>

Затем вам, конечно, нужно закодировать любой пользовательский ввод, который отображается на вашей странице ошибки. например. Server.HtmlEncode(ex.Message)

person Nicholas    schedule 18.11.2011