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错误。
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错误。
相关文章推荐
- jsp超链接<a href="../servlet/DeleteProject?pid=<%=rs.getInt("pid")%>">删除</a>传参数到servlet时出现404错误
- 从cin>>ch, cin.get(ch)看C++的参数引用
- <stdlib.h>中的随机数产生函数rand,random,srand,srandom的一些知识
- ASP.NET-->>Get和Post的接收参数:Request.QueryString,Request.Form,Request.Params异同
- cin>>,cin.get(),cin.getline()的一些用法
- perl -- 子过程 -->数组参数传入
- git : local -> gerrit;如果避免不断产生新的patch
- Struts里面<html:link>的使用方法以及加多个参数的方法
- jQuery get content between <div> tags
- <杂念><参加完了广东互联网大会的一些感想>
- MyBatis<forEach/>如何遍历Map参数里的值
- 关于c->c++过渡的一些小细节
- uboot--参数-->kernel
- C++ 输入函数 cin>>、cin.getline()和cin.get()区别
- SetScrollSizes( nMapMode, GetDocument( )->GetMyDocSize( ) )中的MSDN解释
- ODBC:m_pSet->GetRecordCount;m_MSFGrid显示
- Jquery对一些常用控件的取值、赋值<textbox,button,lable,radio,checkbox,selected >
- 一起看代码来玩玩QT之18 database(four 向QtableView 添加代理view->setItemDelegate ,让代理作一些东西)
- Android-->iostat(显示CPU和IO系统负载情况)
- System.getProperty() & VM 参数大全