您的位置:首页 > 其它

Get参数值中有“>”时,IIS在一些情况下会产生404错误

2009-10-20 10:19 148 查看
最近有网友反馈CSDN的一个bug,某个CSDN帖子点击它里面的举报功能链接会报404错误,其他帖子则没有这个问题。这个点击链接如下:
http://forum.csdn.net/PointForum/Forum/Report.aspx?topicId=cc0b49bf-d6e8-4645-bf34-45f6e68bc569&postDate=2009-10-17&url=http%3A%2F%2Ftopic.csdn.net%2Fu%2F20091017%2F17%2Fcc0b49bf-d6e8-4645-bf34-45f6e68bc569.html&content=%E8%B5%9A%E9%92%B1%E6%95%88%E5%BA%94----%3E%E8%8D%90%E8%82%A1%E5%91%A8%E8%B5%9B%EF%BC%81%E8%83%BD%E8%B5%9A%E9%92%B1%E8%83%BD%E8%8E%B7%E7%A7%AF%E5%88%86%EF%BC%81
通过分析原因,发现是因为这个链接中有“>”这个字符所致。上述链接中的“%3e” 就是“>”字符。删除这个字符就一切都好了。

一些简单的其他ASP.net站点的演示这个错误的地址:

http://s.mybook66.com/Chapter.aspx?id=273>



http://s.mybook66.com/Chapter.aspx?id=273%3e



http://www.microsoft.com/downloads/details.aspx?FamilyID=CF13EA45-D17B-4EDC-8E6C-6C5B208EC54D%3e&displaylang=en



http://msn.qidian.com/ShowBook.aspx?bookid=1266402>



这个问题只有IIS才有,

Visual Studio 开发站点:ASP.net Development Server,Apache 我都没有发现这个问题存在。

并不是所有的Get参数值上增加“>”都会导致404错误,有些会,有些又不会,目前我还没有找出规律。

System.Web.HttpUtility.UrlEncode(">") 会输出 “%3e”,不论“>”还是“%3e” 在这个问题存在时,都会导致404错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: