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(/\"/g, """) // 转换双引号
      .replace(/\n/g, "<br/>") // 转换换行符号
      .replace(/\r/g, "") //转换回车符号
    )
    : html;}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容