关于html转义以及防止javascript注入攻击的方法

什么是html转义?

通俗的来讲就是讲你输入的比较特殊的html标签符号转换为与之相匹配对应的字符。比如’<‘符号通过转义之后就会成为’&lt’,然后在页面中显示的时候,页面会将’&lt’解析为’<’,一方面还原了用户的真实的输入本文,最终显示的跟你输入的内容还是一样的,另一方面避免了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;
}

使用
关于html转义以及防止javascript注入攻击的方法