处理有潜在危险的查询字符串
本文关键字:查询 字符串 危险 处理 | 更新日期: 2023-09-27 18:02:50
我的项目实现搜索(从默认的HTML
页面),并将重定向到搜索页面(ASPX
页面),我使用查询字符串来传递搜索值。当语言设置为非英语(例如泰语,西里尔字母)时,我得到potentially dangerous Request.QueryString value
服务器错误。
有没有办法从客户端处理这个问题?目前我找不到一种方法来处理这个从页面本身(Page_Load
, Page_PreInit
不触发)。
function Search() {
var searchString = document.getElementById('txtSearch').value;
location.href = "/Search.aspx?search=" + searchString;
}
添加validateRequest="false"
到您的。net页面或Web。配置文件
或
你可以编码你的url变量,添加encodeURIComponent
:
function Search() {
var searchString = document.getElementById('txtSearch').value;
location.href = "/Search.aspx?search=" + encodeURIComponent(searchString);
}
如果你的数据看起来很像代码,你可能不得不禁用这个验证;但是你需要真的确定你的代码处理,特别是避免XSS和SQL注入攻击。您应该能够在aspx validateRequest=false
中设置为在每个页面的基础上禁用:
<%@ Page validateRequest="false" ...
或在web中全局。