Html字符串提交给ashx 检测到不安全字符,该怎么处理
Html字符串提交给ashx 检测到不安全字符
ueditor 里面的 html 怎么快捷的转以下?
网上都说 去掉安全检查!!
------解决思路----------------------
编码下 不行?
------解决思路----------------------
你一定要即使不关闭安全检查又要这样传,那么你就对字符串做base64或者其他转码,然后到服务端再转回来
------解决思路----------------------
这个估计只能去掉安全检查了。
不知道javascript能不能post back前encode一下。
------解决思路----------------------
包含hml代码提交给aspx才会提示,ashx不会吧。。
关闭aspx的验证
<%@ Page Language="C#" ValidateRequest="false" ........%>
------解决思路----------------------
encodeURIComponent('内容')
------解决思路----------------------
关闭页面安全验证试过了吗?
你要实在不行,就把“<” 或者 “>”其中一个字符替换成其它的特殊字符,输出的时候再替换回来。有点霸蛮的味道
------解决思路----------------------
用HttpUtility.HtmlEncode 编码,ashx中HttpUtility.HtmlDecode(context.Request["value"]);
就拿你上面例子测试下吧
var data = "<span>日</span>!";
$.get("/Ashx/AppInfoSaveHandler.ashx", { "value": HTMLEncode(data) }, function (data) {
alert(data);
});
js版HttpUtility.HtmlEncode方法:
------解决思路----------------------
URL编码
string content = HttpUtility.UrlDecode(context.Request.QueryString["value"]);接收
发送:
var data = escape( "<span>日</span>!");
$.get(encodeURI("/Ashx/AppInfoSaveHandler.ashx?value="+data), function (data) {
alert(data);
});
或者XML转义,Base64试试
------解决思路----------------------
修改web.config文件:
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
因为validateRequest默认值为true。只要设为false即可。
------解决思路----------------------
这个问题以前遇到过:
①:配置validateRequest为false
②:替换或转义其中导致非法的字符
③:限制输入
ueditor 里面的 html 怎么快捷的转以下?
网上都说 去掉安全检查!!
------解决思路----------------------
编码下 不行?
------解决思路----------------------
你一定要即使不关闭安全检查又要这样传,那么你就对字符串做base64或者其他转码,然后到服务端再转回来
------解决思路----------------------
这个估计只能去掉安全检查了。
不知道javascript能不能post back前encode一下。
------解决思路----------------------
包含hml代码提交给aspx才会提示,ashx不会吧。。
关闭aspx的验证
<%@ Page Language="C#" ValidateRequest="false" ........%>
------解决思路----------------------
encodeURIComponent('内容')
------解决思路----------------------
关闭页面安全验证试过了吗?
你要实在不行,就把“<” 或者 “>”其中一个字符替换成其它的特殊字符,输出的时候再替换回来。有点霸蛮的味道
------解决思路----------------------
用HttpUtility.HtmlEncode 编码,ashx中HttpUtility.HtmlDecode(context.Request["value"]);
就拿你上面例子测试下吧
var data = "<span>日</span>!";
$.get("/Ashx/AppInfoSaveHandler.ashx", { "value": HTMLEncode(data) }, function (data) {
alert(data);
});
js版HttpUtility.HtmlEncode方法:
function HTMLEncode(html) {
var temp = document.createElement("div");
(temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html);
var output = temp.innerHTML;
temp = null;
return output;
}
------解决思路----------------------
URL编码
string content = HttpUtility.UrlDecode(context.Request.QueryString["value"]);接收
发送:
var data = escape( "<span>日</span>!");
$.get(encodeURI("/Ashx/AppInfoSaveHandler.ashx?value="+data), function (data) {
alert(data);
});
或者XML转义,Base64试试
------解决思路----------------------
修改web.config文件:
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
因为validateRequest默认值为true。只要设为false即可。
------解决思路----------------------
这个问题以前遇到过:
①:配置validateRequest为false
②:替换或转义其中导致非法的字符
③:限制输入