前端如何处理xss 跨域攻击
一般情况下,xss是由后端做处理,即把用户输入的内容进行转码或转义变成字符串进行保存,这样即使被别有用心的人输入了一些攻击代码,经过处理后都会变成字符串,那么前端也可以做一些简单处理,即把用户输入的内容转成字符串在进行提交。
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;
}
htmlEncode("<script>alert(222)</script>")
原理,在页面创建一个临时dom,把要处理的数据赋值给它。用innerText接收。再return innerHTML;
发表评论 (审核通过后显示评论):