JS中简单防御xss攻击

跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

我们只要将各种html中的敏感字符进行转义显示即可完成简单的xss攻击防御, 就是一个encode过程:

function encodeHtml(html){return html && html.replace ? 
    (
      html.replace(/&/g, "&") //转换&符号
      .replace(/ /g, " ") // 转换空格
      .replace(/\b +/g, " ") // 转换多个空格为单个空格
      .replace(//g, ">") // 转换大于符号
      .replace(/\\/g, "\") // 转换斜杠符号
      .replace(/\'/g, "'") // 转换单引号
      .replace(/\"/g, """) // 转换双引号
      .replace(/\n/g, "
") // 转换换行符号 .replace(/\r/g, "") //转换回车符号 ) : html;}

你可能感兴趣的:(JS中简单防御xss攻击)