关于xss:js-xss及注入攻击的防范注入攻击过滤器xssfilterjs

50次阅读

共计 1204 个字符,预计需要花费 4 分钟才能阅读完成。

在前端开发中总是认为本人实现了业务代码满足了用户需要,却不知 web 存在的许多安全隐患,如各种的注入攻打,xss 跨站脚本攻打,跨域申请伪造,以及之前提到的不平安的 http,其余等等。自己写了一个对于注入攻打能够过滤注入敏感关键字的库 xssfilter-js,如果感觉好的能够 start,也心愿您能参加奉献

injectFilter.js

注入攻打过滤器 (兼容 IE)- 实现过滤文本或 DOM 元素中的敏感关键字避免 XSS、命令注入、sql 注入攻打

大小:4KB

NPM 地址:https://www.npmjs.com/package…

Github:https://github.com/booms21/in…

Docs 文档:

装置:

npm install xssfilter-js

options 配置项:

// 创立一个 InjectFilter 对象,可传入 options 配置对象
var inf = new InjectFilter(options);


options.tokens = 可增加额定的自定义过滤字符,对象类型键值对
{'须要替换的指标字符':'字符 1'} 
key 为须要替换的字符,value 为想要将指标字符替换成的字符。options.xss = true; 
默认为 true。需为布尔值,是否启用过滤 xss 注入


options.command = true;
默认为 true。需为布尔值,是否启用过滤 command(命令注入)



options.sql = true;
默认为 true。需为布尔值,是否启用过滤 sql 注入
注:命令和 sql 将过滤成对应的‘全角’文本 (如select、delete from、ping)

Demo:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="injectFilter.js"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
</head>
<body>
    <div id='aa' onclick="javascript:alert('hello world')">) or 1=1</div>
</body>
<script>
  var inf = new InjectFilter({tokens:{'or':'|||'}});
     $('#aa').html(inf.filter(document.getElementById('aa')))
</script>

</html>

ES6:

import injectFilter from './injectFilter';

正文完
 0