防范XSS攻击

一.什么是xss攻击

XSS是跨站脚本攻击(Cross Site Scripting)。攻击者往 web 页面里插入恶意的 HTML 代码(Javascript、css、html 标签等),当用户浏览该页面时,嵌入其中的 HTML 代码会被执行,从而达到恶意攻击用户的目的。如盗取用户 cookie 执行一系列操作,破坏页面结构、重定向到其他网站等。

二.防范XSS攻击

这里主要是项目中遇到了要防止简单的html编码攻击

  • 防御HTML编码
    在项目中会出现这样的情况,在表单的输入框中上传信息,后台接收到数据后会回显上传的信息,也就是前端上传到后台的数据需要在其他页面进行回显。如果遇到了XSS攻击,该攻击在输入框中输入了可执行的html代码比如 ,可以发现如果图片的src路径找不到该图片,就执行onerrpr的代码,代码可能就是XSS攻击,如果上传的是一些script代码,该脚本也会被解析并执行。
    所以一些不可信的标签的插入时应该进行转码:

    function htmlEncode(str) {
          var s = '';
          if (str.length === 0) {
           return s;
          }
          return (s + str)
            .replace(/&/g, "&")
            .replace(//g, ">")
            .replace(/ /g, " ")
            .replace(/\'/g, "'")
            .replace(/\"/g, """)
            .replace(/\//g, '/');
    }
    

你可能感兴趣的:(防范XSS攻击)