一般情况下,xss是由后端做处理,即把用户输入的内容进行转码或转义变成字符串进行保存,这样即使被别有用心的人输入了一些攻击代码,经过处理后都会变成字符串,那么前端也可以做一些简单处理,即把用户输入的内容转成字符串在进行提交。
\n\n\n\nfunction htmlEncode(html) {
\n\n\n\nvar temp = document.createElement ("div");
\n\n\n\n(temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html);
\n\n\n\nvar output = temp.innerHTML;
\n\n\n\ntemp = null;
\n\n\n\nreturn output;
\n\n\n\n}
\n\n\n\nhtmlEncode("<script>alert(222)</script>")
\n\n\n\n原理,在页面创建一个临时dom,把要处理的数据赋值给它。用innerText接收。再return innerHTML;
\n