首页 > 其他分享 >敏感词 v0.21.0 白名单支持单个编辑,修正白名单包含黑名单时的问题

敏感词 v0.21.0 白名单支持单个编辑,修正白名单包含黑名单时的问题

时间:2024-09-20 11:45:59浏览次数:1  
标签:新增 黑名单 敏感 sensitiveWordBs assertEquals text 白名单 v0.21

敏感词系列

sensitive-word-admin 敏感词控台 v1.2.0 版本开源

sensitive-word-admin v1.3.0 发布 如何支持分布式部署?

01-开源敏感词工具入门使用

02-如何实现一个敏感词工具?违禁词实现思路梳理

03-敏感词之 StopWord 停止词优化与特殊符号

04-敏感词之字典瘦身

05-敏感词之 DFA 算法(Trie Tree 算法)详解

06-敏感词(脏词) 如何忽略无意义的字符?达到更好的过滤效果

v0.10.0-脏词分类标签初步支持

v0.11.0-敏感词新特性:忽略无意义的字符,词标签字典

v0.12.0-敏感词/脏词词标签能力进一步增强

v0.13.0-敏感词特性版本发布 支持英文单词全词匹配

v0.16.1-敏感词新特性之字典内存资源释放

v0.19.0-敏感词新特性之敏感词单个编辑,不必重复初始化

v0.20.0 敏感词新特性之数字全部匹配,而不是部分匹配

v0.21.0 敏感词新特性之白名单支持单个编辑,修正白名单包含黑名单时的问题

view

版本特性

  • 优化白名单的匹配策略,避免长白名单时,匹配到短的黑名单,不符合预期

https://github.com/houbb/sensitive-word/issues/76

https://github.com/houbb/sensitive-word/issues/19

  • 白名单支持单个编辑

针对单个白名单词的新增/删除,无需全量初始化

使用场景:在初始化之后,我们希望针对单个词的新增/删除,而不是完全重新初始化。这个特性就是为此准备的。

支持版本:v0.21.0

方法说明

addWordAllow(word) 新增白名单,支持单个词/集合

removeWordAllow(word) 删除白名单,支持单个词/集合

使用例子

        final String text = "测试一下新增敏感词白名单,验证一下删除和新增对不对";

        SensitiveWordBs sensitiveWordBs =
                SensitiveWordBs.newInstance()
                        .wordAllow(WordAllows.empty())
                        .wordDeny(new IWordDeny() {
                            @Override
                            public List<String> deny() {
                                return Arrays.asList("测试", "新增");
                            }
                        })
                        .init();

        // 当前
        Assert.assertEquals("[测试, 新增, 新增]", sensitiveWordBs.findAll(text).toString());

        // 新增单个
        sensitiveWordBs.addWordAllow("测试");
        sensitiveWordBs.addWordAllow("新增");
        Assert.assertEquals("[]", sensitiveWordBs.findAll(text).toString());

        // 删除单个
        sensitiveWordBs.removeWordAllow("测试");
        Assert.assertEquals("[测试]", sensitiveWordBs.findAll(text).toString());
        sensitiveWordBs.removeWordAllow("新增");
        Assert.assertEquals("[测试, 新增, 新增]", sensitiveWordBs.findAll(text).toString());

        // 新增集合
        sensitiveWordBs.addWordAllow(Arrays.asList("新增", "测试"));
        Assert.assertEquals("[]", sensitiveWordBs.findAll(text).toString());
        // 删除集合
        sensitiveWordBs.removeWordAllow(Arrays.asList("新增", "测试"));
        Assert.assertEquals("[测试, 新增, 新增]", sensitiveWordBs.findAll(text).toString());

        // 新增数组
        sensitiveWordBs.addWordAllow("新增", "测试");
        Assert.assertEquals("[]", sensitiveWordBs.findAll(text).toString());
        // 删除集合
        sensitiveWordBs.removeWordAllow("新增", "测试");
        Assert.assertEquals("[测试, 新增, 新增]", sensitiveWordBs.findAll(text).toString());

小结

和黑名单的单个编辑类似,可以避免重复初始化的问题。提升用户使用体验。

开源代码

敏感词 https://github.com/houbb/sensitive-word

敏感词 https://github.com/houbb/sensitive-word-admin

标签:新增,黑名单,敏感,sensitiveWordBs,assertEquals,text,白名单,v0.21
From: https://www.cnblogs.com/houbbBlogs/p/18422194

相关文章

  • 阿里云 dcdn 域名 白名单ip 获取 及新增
      ......
  • PbootCMS设置当前站点模板,模板子目录,黑白名单,敏感词过滤
    在PBootCMS中,后台操作涉及多个配置项,包括更换模板路径、配置后台模板子目录、配置后台黑名单和白名单以及敏感词过滤。下面是详细的步骤和说明。1.更换模板路径步骤进入站点信息页面:登录PBootCMS后台。导航至 【基础内容】-【站点信息】-【站点模板】。选择模板......
  • 安全:modsecurity加ip白名单
    一,创建目录和文件,并添加规则1,创建目录和文件[root@blogmodsecurity]#mkdircustom_rules[root@blogmodsecurity]#cdcustom_rules/[root@blogcustom_rules]#viipwhitelist.conf命令的内容:[root@blogcustom_rules]#moreipwhitelist.confSecRuleREMOTE_ADDR"@......
  • sqlserver下利用sqlps.exe白名单绕杀软
    sqlserver下利用sqlps.exe白名单绕杀软前言:在一次攻防里通过sqlserver盲注拿到一个执行命令权限,但是由于是盲注回显很有问题以及有杀软,所以利用起来非常难受而且拿不到webshell或者上线c2,所以才找到这个方法。介绍:sqlps.exe是SQLServer附带的一个具有Microsoft签名的二进制文......
  • 开拓创新实验室历届社员参加过的白名单榜单赛事
    在列榜之前,先向大家稍微介绍一下参加竞赛的好处:1提升专业知识:通过备赛和参赛,你们可以更深入地理解所学专业知识,巩固课程基础。2锻炼实践能力:许多竞赛会涉及实际操作和项目实践,帮助你们将理论知识应用到实际问题中。3培养团队合作精神:很多竞赛都是团队形式,这不仅能提高你......
  • 电脑防火墙IP白名单设置
    一、打开系统的防火墙界面,打开方式有很多种,我是用的win11,可以直接搜索打开  也可以通过其他方式打开,这个看个人,反正结果是进入防火墙就行1、右键电脑上右下角的Wi-Fi图标,点击打开网络设置窗口 2、点击高级网络设置 3、点击最下方的windows防火墙  二、正式......
  • 脚本阿里云安全组 ECS 白名单
    脚本阿里云安全组ECS白名单公司外网ip重启路由啥的就会变ip,如果需要访问esc之前ip白名单失效参考/***https://api.aliyun.com/document/Ecs/2014-05-26/DescribeSecurityGroups*api地址*@throwsExecutionException*@throwsInterruptedException**......
  • nginx批量封禁黑名单ip
    nginx批量封禁黑名单ip昨天搞到差不多1点,今天又是忙到6点半,连我领导都说“搞得我们加一好憔悴呀”。有很长一段时间没更新博客了,想着怎么做个人IP。。。谋出路 一、需求介绍废话少说,需求就是怎么批量封禁别人给来的一大堆黑名单ip。甲方每天不定期发来几百、上千个ip,我......
  • 360安全卫士如何设置白名单
    原文链接:https://xinzhi.wenda.so.com/a/1688113229204712软件exe文件没有了,怀疑是被360杀掉了,查了下才找到怎么加入白名单,在次记录下。1、首先打开360安全卫士,点击木马查杀 2、然后点击信任区。 3、点击添加目录或者添加文件。 4、然后选择目录,点击确定。 5、最后......
  • Facebook开户|Facebook国内三不限白名单户悄悄来啦
    哈喽哈,mia小编来啦~敲黑板告诉大家个好消息!!去年火爆两个季度的国内三不限企业账户回来啦......