最近有网友反馈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://msn.qidian.com/ShowBook.aspx?bookid=1266402>
这个问题只有IIS才有,
Visual Studio 开发站点:ASP.net Development Server,Apache 我都没有发现这个问题存在。
并不是所有的Get参数值上增加“>”都会导致404错误,有些会,有些又不会,目前我还没有找出规律。
System.Web.HttpUtility.UrlEncode(">") 会输出 “%3e”,不论“>”还是“%3e” 在这个问题存在时,都会导致404错误。
打印 | 张贴于 2009-10-20 10:12:31 | Tag:.net 编程心得 技术随笔 网站开发管理相关内容 与CSDN有关的内容
留言反馈