Специальные символы вызывают ошибку в URL в ASP.NET - PullRequest
0 голосов
/ 22 сентября 2019

Я ввожу специальные символы в URL, которые вызывают ошибку.Я хотел бы перенаправить специальную страницу, но не смог.

404 редирект работает нормально, но 400 редирект не работает.

Эти символы вызывают проблемы в URL:

1- "%" - HTTP Error 400 - Bad Request-Invalid URL
2- "&" - HTTP Error 400
3- "<" - HTTP Error 400
4- ">" - HTTP Error 400
5- ":" - HTTP Error 400

My Web.config настройки:

<system.web>
    <customErrors mode="On" redirectMode="ResponseRedirect" />
</system.web>
<system.webServer>
    <httpErrors>
        <remove statusCode="400" subStatusCode="-1" />
        <remove statusCode="404" subStatusCode="-1" />
        <error statusCode="400" path="400.aspx" responseMode="Redirect" />
        <error statusCode="404" path="404.aspx" responseMode="Redirect" />
    </httpErrors>
</system.webServer>

1 Ответ

0 голосов
/ 24 сентября 2019

Насколько мне известно, URL-адрес неверного URL-адреса неверно генерируется http.sys, а не IIS или asp.net, поэтому изменение пользовательской страницы ошибки бесполезно для такого рода проблем.

Кроме того, невозможно изменить пользовательскую страницу ошибки для http.sys.

Если вы хотите, чтобы http.sys разрешил неверный URL, я предлагаю вам попробовать создать следующие значения DWORD в следующем разделе реестра:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

AllowRestrictedChars  1

Подробнееможет ссылаться на эту статью .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...