Невозможно отключить проверку запроса ASP.NET для URL "/x:)"
Когда я получаю доступ к URL /x:)
моего приложения ASP.NET MVC 5 я получаю эту ошибку:
A potentially dangerous Request.Path value was detected from the client (:).
[HttpException (0x80004005): A potentially dangerous Request.Path value was detected from the client (:).]
System.Web.HttpRequest.ValidateInputIfRequiredByConfig() +9939892
System.Web.PipelineStepManager.ValidateHelper(HttpContext context) +53
Это полная трассировка стека.
Я хочу полностью отключить проверку запросов. Мне это не нужно, и мне нужно обрабатывать даже странные URL-адреса, подобные этому.
Я применил все эти настройки, но они не работали:
<httpRuntime targetFramework="4.7.2" requestValidationMode="2.0" />
<pages validateRequest="false" />
[ValidateInput(false)]
Как я могу полностью избежать проверки запроса?
1 ответ
Решение
Чтобы разрешить использование специальных символов в вашем URL-пути, вы должны изменить параметр requestPathInvalidCharacters в web.config следующим образом:
<system.web>
<httpRuntime requestPathInvalidCharacters="<,>,%,&,:,\,?" />
</system.web>
Обратите внимание, я только что удалил звездочку (*), исходная строка по умолчанию:
<httpRuntime requestPathInvalidCharacters="<,>,*,%,&,:,\,?" />