IIS允许在URL路由中使用冒号

wgmfuz8q  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(168)

我们有一个C# MVC应用程序,其中包含对端点的调用,其格式如下
VerifyMe/12345/Password:Reset
在两个服务器上,都没有设置请求筛选,并且我们的应用程序没有httpRuntimerequestPathInvalidCharacters的web.config条目,一个服务器(IIS 10)允许请求通过,另一个服务器(IIS 8)返回400 Bad Request(由于冒号)
我找不到任何地方谈论有效字符之间的变化2个版本
是否还有其他因素可能使IIS 8服务器为该URL返回400?

fnx2tebb

fnx2tebb1#

该问题的根本原因是冒号,在基于Windows(和DOS)的系统上,冒号是文件结构的保留字符,它会给您带来各种问题。
看起来ASP.net不允许在"?"前使用冒号,尽管它在URL中编码为%3A。您可以引用此thread

相关问题