我需要能够允许包含"<"和">"字符的查询字符串.但是,将id = mi <ke之类的内容放入URL会输出错误页面:
从客户端检测到潜在危险的Request.QueryString值(id ="mi <ke").
如果我第一次url编码url(创建id = mi%3Cke)我仍然得到相同的错误.我可以通过将ValidateRequest ="false"放入Page指令来解决这个问题,但如果可能的话,我宁愿不这样做.
那么无论如何在查询字符串中允许这些字符并且不关闭ValidateRequest?
编辑:我想让用户也可以手动输入网址,因此以某种方式编码它们可能无法正常工作.
我遇到了类似的问题.我选择base64编码查询字符串来解决它.运用
System.Text.ASCIIEncoding.ASCII.GetBytes
Run Code Online (Sandbox Code Playgroud)
然后将字符串作为字节
System.Convert.ToBase64String
Run Code Online (Sandbox Code Playgroud)
把它变成一个"安全"的字符串.
要取回它,请使用:
System.Convert.FromBase64String
Run Code Online (Sandbox Code Playgroud)
然后:
System.Text.ASCIIEncoding.ASCII.GetString
Run Code Online (Sandbox Code Playgroud)
扭转流动的极性.