gpt4 book ai didi

url - ASP.NET 4 URL 限制 : why URL cannot contain any %3f characters

转载 作者:行者123 更新时间:2023-12-04 04:44:16 25 4
gpt4 key购买 nike

http://site.com/page%3fcharacter

此 URL 将返回以下错误:
Illegal characters in path.

我已经把它放在 web.config 中:
<system.web>
<httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" />
<pages validateRequest="false">
...

我该如何解决这个错误?

最佳答案

如果要允许请求通过,则需要添加requestPathInvalidCharacters并将其设置为空字符串:

<system.web>
<httpRuntime requestPathInvalidCharacters="" />
</system.web>

编辑 你应该保留你原来的问题,因为现在我的回答没有意义。

但是在回答您的第二个问题时,这是因为 %3f 对应于 '?'这在 Windows 上的文件名中是不允许的。您可以设置 relaxedUrlToFileSystemMapping属性(property)到 true改变这种行为:
<system.web>
<httpRuntime requestPathInvalidCharacters=""
relaxedUrlToFileSystemMapping="true" />
</system.web>

您可能想要查看 HttpRuntimeSection 中的所有属性。类,看看是否还有其他可能适用的。

您还可以实现 RequestValidator 的子类并设置您的 web.config 以使用您的子类(这可能会允许所有 URL 通过?)。就个人而言,我不会打扰,只是让内置类处理它。普通用户不太可能在路径中意外输入“%3f”,为什么要费心去改进恶意用户的用例呢?

顺便说一下,这实际上是 ASP.NET 4 中的一个新功能,这就是 Stack Overflow 不会吐出错误的原因:它在 .NET 3.5 上运行。

关于url - ASP.NET 4 URL 限制 : why URL cannot contain any %3f characters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2831142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com