我们已将其中一个测试环境切换为在IIS7上使用.NET 4。生产正在使用.NET 2.
某些网址,例如
http://www.example.com/page.aspx?param1=<foo>¶m2=<foo>
我们的stringindex代码没有被查找&lt;或者&gt;在Request.Url.ToString()中。为什么?因为我们检查时它们显示为<foo>
。这适用于.NET 2.
发生了什么事?
注意:格式化没有错误。我的意思是 HTML 编码。
答案 0 :(得分:0)
查询字符串中的所有数据都需要进行URL编码才能正确解析,因此如果要获取输入的内容,则需要URL解码查询字符串。
HttpServerUtility.UrlDecode(Request.QueryString);
http://msdn.microsoft.com/en-us/library/6196h3wt.aspx:
URL编码可确保所有浏览器都能正确传输URL字符串中的文本。某些浏览器可能会截断或损坏诸如问号(?),符号(&amp;),斜杠标记(/)和空格等字符。因此,这些字符必须编码在标签或查询字符串中,其中字符串可以由浏览器在请求字符串中重新发送。