Невозможно отключить проверку запроса 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="&lt;,&gt;,%,&amp;,:,\,?" />
</system.web>

Обратите внимание, я только что удалил звездочку (*), исходная строка по умолчанию:

<httpRuntime requestPathInvalidCharacters="&lt;,&gt;,*,%,&amp;,:,\,?" />
Другие вопросы по тегам