繁体   English   中英

特殊字符导致 ASP.NET 中的 URL 出错

[英]Special characters causes an error in URL in ASP.NET

我在 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

我的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>

As far as I know, the url Bad Request-Invalid URL is thrown by the http.sys not IIS or asp.net, so changing the custom error page is usless for this kind of issue.

此外,无法修改 http.sys 的自定义错误页面。

如果您想让 http.sys 允许 Invalid url,我建议您可以尝试在以下注册表项下创建以下 DWORD 值:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

AllowRestrictedChars  1

更多细节,你可以参考这篇文章

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM