Невозможно отключить проверку запроса ASP.NET для URL "/ x :)" - PullRequest
0 голосов
/ 23 октября 2018

Когда я получаю доступ к 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 Ответ

0 голосов
/ 23 октября 2018

Чтобы разрешить использование специальных символов в вашем URL-пути, вы должны изменить параметр requestPathInvalidCharacters в web.config следующим образом:

<system.web>
    <httpRuntime requestPathInvalidCharacters="&lt;,&gt;,%,&amp;,:,\,?" />
</system.web>

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

<httpRuntime requestPathInvalidCharacters="&lt;,&gt;,*,%,&amp;,:,\,?" />
...