防止从客户端执行脚本获取敏感信息。
在数据拼接输入到页面之前,将数据内包含的<script></script>屏蔽掉。
具体做法:
假设是这样一段data:data = {"content" :<script>alert(1)</script>
现将data转为字符串,再将字符串内的<>替换为<$gt;然后再讲字串转为json对象。
newData = JSON.stringify(data).replace(/</g,'<').replace(/>/g,'>');
finalData = JSON.parse(newData);
这样我们通过
document.body.innerHTML = finalData
输入到页面内的就是<script>alert(1)</script>