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

开源目的

丰富 sensitive-word 的生态。

提供最基本的操作例子,便于在此基础上丰富实现自己的敏感词控台。

避免重复开发的成本,让更多的精力专注于业务。

拓展阅读

sensitive-word-admin 敏感词控台 v1.2.0 版本开源
sensitive-word 基于 DFA 算法实现的高性能敏感词工具介绍

v1.2.0 版本特性

优化对应的组件依赖,sensitive-word 同步升级到最新版本。

修复已知问题。

模板已包含敏感词基础的操作,后续将持续优化。

核心 api

提供了核心的 api,可以让用户自行调用。在这个基础上封装自己的脱敏服务。

接口列表

api 入参 出参 说明
/api/sensitiveWord/contains string boolean 是否包含敏感词
/api/sensitiveWord/findAll string List<String> 获取所有的敏感词
/api/sensitiveWord/findFist string string 获取第一个的敏感词
/api/sensitiveWord/replace string string 获取替换后的结果
/api/sensitiveWord/tags string Set<String> 获取敏感词的标签列表

核心实现

spring 配置

java 复制代码
@Configuration
public class SensitiveWordConfig {

    @Autowired
    private MyDdWordAllow myDdWordAllow;

    @Autowired
    private MyDdWordDeny myDdWordDeny;

    /**
     * 初始化引导类
     * @return 初始化引导类
     * @since 1.0.0
     */
    @Bean
    public SensitiveWordBs sensitiveWordBs() {
        return SensitiveWordBs.newInstance()
                .wordAllow(WordAllows.chains(WordAllows.defaults(), myDdWordAllow))
                .wordDeny(WordDenys.chains(WordDenys.defaults(), myDdWordDeny))
                .ignoreRepeat(false)
                // 各种其他配置
                .init();
    }

}

最核心的代码部分,引入初默认配置之外的数据库的 MyDdWordAllow + MyDdWordDeny,通过数据库层面的

refresh

每次敏感词变更,会触发对应的敏感词 refresh 操作。

所以不用重启,就可以实现敏感词的实时刷新。

后续会做进一步的优化,让敏感词精确到单个词,刷新性能更好。

开源地址

github.com/houbb/sensi...

后续 ROAD-MAP

  • 登录/登出
  • 页面操作的权限管理
  • 调用方系统 token 注册管理
  • 敏感词的数据大盘
  • 调用信息数据大盘
  • 操作审计日志

参考资料

github.com/houbb/sensi...

相关推荐
方也_arkling3 小时前
【Java-Day08】static / final / 枚举
java·开发语言
橙淮3 小时前
Spring Bean作用域与生命周期全解析
java·spring
Chengbei114 小时前
一站式源码安全检测工具、云安全 / APP / 小程序源码敏感信息递归多层目录扫描AK、JWT、手机号、身份证等敏感信息
java·开发语言·安全·web安全·网络安全·系统安全·安全架构
llz_1124 小时前
web-第一次课后作业
java·开发语言·idea
Jiude4 小时前
AI 写代码太快之后,团队协作反而更难了
人工智能·架构·github
秋94 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
小江的记录本4 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·面试·maven
DIY源码阁4 小时前
JavaSwing学生成绩管理系统 - MySQL版
java·数据库·mysql·eclipse
冬奇Lab5 小时前
每日一个开源项目(第105篇):Twenty - 跳出 Salesforce 的圈套,定义现代开源 CRM
前端·后端·开源
basketball6165 小时前
C++ NULL 和 nullptr 区别 以及 nullptr 的核心实现
java·开发语言·c++