C# 处理潜在危险的查询字符串
我的项目实现了从默认HTML页面进行搜索,并将重定向到搜索页面ASPX页面,我使用查询字符串传递搜索值。当语言设置为非英语(如泰语、西里尔语)时,我收到潜在危险的Request.QueryString值服务器错误 有没有办法从客户端处理这个问题?目前我无法从页面本身找到处理此问题的方法页面加载,页面预初始化没有触发 以下是我用于重定向的代码:C# 处理潜在危险的查询字符串,c#,javascript,asp.net,.net-2.0,request.querystring,C#,Javascript,Asp.net,.net 2.0,Request.querystring,我的项目实现了从默认HTML页面进行搜索,并将重定向到搜索页面ASPX页面,我使用查询字符串传递搜索值。当语言设置为非英语(如泰语、西里尔语)时,我收到潜在危险的Request.QueryString值服务器错误 有没有办法从客户端处理这个问题?目前我无法从页面本身找到处理此问题的方法页面加载,页面预初始化没有触发 以下是我用于重定向的代码: function Search() { var searchString = document.getElementById('txtSearc
function Search() {
var searchString = document.getElementById('txtSearch').value;
location.href = "/Search.aspx?search=" + searchString;
}
如果您的数据看起来与代码大致相同,那么您可能必须禁用此验证;但是,您需要真正确定您的代码处理,特别是避免XSS和SQL注入攻击。您应该能够在aspx validateRequest=false中设置为每页禁用:
<%@ Page validateRequest="false" ...
如果您在任何地方都需要此验证,请在web.config中全局使用。如果您的数据看起来与代码大致相同,则可能必须禁用此验证;但是,您需要真正确定您的代码处理,特别是避免XSS和SQL注入攻击。您应该能够在aspx validateRequest=false中设置为每页禁用:
<%@ Page validateRequest="false" ...
如果您在任何地方都需要此选项,请在web.config中全局添加。将validateRequest=false添加到.Net页面或web.config文件中
或
您可以对url变量进行编码,添加encodeURIComponent:
将validateRequest=false添加到.Net页面或Web.config文件
或
您可以对url变量进行编码,添加encodeURIComponent:
您是否尝试在重定向页面上加密查询字符串并解密?尚未,我已在搜索页面中发布了用于重定向的代码。您是否尝试在重定向页面上加密查询字符串并解密?尚未,我已在搜索页面中发布了用于重定向的代码。谢谢,我尝试了该属性,它正在工作。是否可以从代码隐藏中将此设置为真?假设我已经验证了请求,并且它是有效的,我不想将ValidateRequest设置为true,以避免任何攻击。谢谢,我尝试了该属性,它正在工作。是否可以从代码隐藏中将此设置为真?假设我已经验证了请求,并且它是有效的,我不想将ValidateRequest设置为true,以避免任何攻击。