前端如何处理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;

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):