关于html转义以及防止javascript注入攻击的方法
什么是html转义?
通俗的来讲就是讲你输入的比较特殊的html标签符号转换为与之相匹配对应的字符。比如’<‘符号通过转义之后就会成为’<’,然后在页面中显示的时候,页面会将’<’解析为’<’,一方面还原了用户的真实的输入本文,最终显示的跟你输入的内容还是一样的,另一方面避免了js注入攻击
实现方式
//转义 元素的innerHTML内容即使转义后的字符
function htmlEncode ( str ) {
var ele = document.createElement('span');
ele.appendChild( document.createTextNode( str ) );
return ele.innerHTML;
}
//解析
function htmlDecode ( str ) {
var ele = document.createElement('span');
ele.innerHTML = str;
return ele.textContent;
}
使用