如何解决“从客户端检测到一个潜在危险的Request.Path值%”但请求似乎没问题
| ASP.Net MVC 3.0,.NET 4.0,IIS 7 我知道它已经被问过很多次了,但是我仍然无法弄清楚它到底出了什么问题。 我偶尔会收到这些消息(每天少于1次),每天访问量约为4k。 这是错误报告的链接: http://wowreforge.com/elmah.axd/detail?id=6CBE6DCA-88C2-45E7-AF53-A53061B8E25D (请注意,有指向XML和JSON详细报告的链接) 首先要注意的是URL(PATH)包含UTF-8编码的字符:/ US / Warsong / Spartan%C3%B6 第二件事,请求是HEAD,而不是GET 我认为,这些细节中的任何一个都不会导致我收到错误。 原始网址为: http://wowreforge.com/US/Warsong/Spartan%C3%B6?reforge=--52145254126214646646464--3214325254&crit=7&dodge=90&exp=19&haste=1&hit=10&mastery=100&parry=67&spi=0 我已经尝试过同时使用GET和HEAD请求的URL,但是无法重现该错误。 我还有什么可以戳的?解决方法
注意that0ѭ。查找磁盘上文件的路径之前,似乎URL编码字符
%27
没有转换为\'
。 RequestPathInvalidCharacters属性的默认配置禁止使用“ 3”字符,因此输入被认为是危险的,并且会引发异常。
编辑
HttpUtility.UrlDecode(string s)方法应将/EU/Kael%27Thas/Acekhor
转换为/EU/Kael\'Thas/Acekhor
。应该在将虚拟路径解析为物理路径的位置调用此方法(或类似功能之一)。您是否正在使用自定义方法将虚拟路径转换为物理路径?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。