网页如何防止xss攻击

1949idc 2年前 (2024-09-13) 阅读数 429 #智能运维

网页防止xss攻击的方法:

实现过滤器对特殊字符进行转义过滤,例如:

function filter(xss) {

  var whiteList = ['h1', 'h2']; // 白名单

  var translateMap = { '<': '&lt;', '>': '&gt;' };

  return xss.replace(/<\/?(.*?)>/g, function(str, $1, index, origin) {

    console.log($1);

    if (whiteList.indexOf($1) >= 0) {

      return str;

    }

    return str.replace(/[<>]/g, function(str) {

      return translateMap[str];

    });

  });

}

var search = location.search;

var query = search.slice(1);

var params = query.split('&').map(function(str) {

  var list = str.split('=');

  var key = list[0];

  var val = list[1];

  return { key: decodeURIComponent(key), val: decodeURIComponent(val) };

});

console.log(params);

var xss;

params.some(function(item) {

  xss = item.val;

  return true;

});

console.log(xss);

console.log(filter(xss));

document.open();

document.write(xss);

document.write(filter(xss));

document.close();

 

//eg http://127.0.0.1:8080/?xss=<script>alert(1)</script><h1><h2>1233</h2></h1>

版权声明

本文内容由互联网用户自发贡献,该文观点仅代表作者本人
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

© 2010 首途云安 & 厦门硕顿信息技术有限公司 & 闽ICP备11016866号  增值电信业务经营许可证:B1-20203020 地址:福建厦门思明区嘉禾路297号1806
高新技术企业
软件产品证书
计算机软件著作权
ISO认证
国家3A企业