js 前端注入文本过滤器xssfilter-js

Posted 洛阳醉长安行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 前端注入文本过滤器xssfilter-js相关的知识,希望对你有一定的参考价值。

在前端开发中总是认为自己实现了业务代码满足了用户需求,却不知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\';

以上是关于js 前端注入文本过滤器xssfilter-js的主要内容,如果未能解决你的问题,请参考以下文章

前端常用的框架都有哪些?

前端常用的框架都有哪些?

前端过滤,搜索框注入案例

请问PHP怎么过滤GET或者POST的参数?防止js注入,或者一些html注入?请请提供代码参考?谢谢!

防止sql注入的方法

web前端三大主流框架都是啥?