sensitive-word icon indicating copy to clipboard operation
sensitive-word copied to clipboard

👮‍♂️The sensitive word tool for java.(敏感词/违禁词/违法词/脏词。基于 DFA 算法实现的高性能 java 敏感词过滤工具框架。请勿发布涉及政治、广告、营销、翻墙、违反国家法律法规等内容。高性能敏感词检测过滤组...

Results 26 sensitive-word issues
Sort by recently updated
recently updated
newest added

自定义敏感词库: ``` tmd nnd ``` `tmd`被识别为敏感词 `nnd`却不行 有人碰到这样的情况没?

/** * 现在的情况是我想使用WordDenys.system()里面的敏感词汇,但是里面的部分我想去掉,比如WordDenys.system()里面包含“五星红旗”敏感词,我想 * 将“五星红旗”设置为非敏感词,我就自己实现了IWordAllow类allow()中的方法,我将‘’五星红旗‘’写在这个方法里面初始化,可是初始化后我去校验“五 * 星红旗”仍然为敏感词 */ @Bean public SensitiveWordBs sensitiveWordBs() { return SensitiveWordBs.newInstance() .wordDeny(WordDenys.chains(WordDenys.system(), myDdWordDeny)) .wordAllow(WordAllows.chains(WordAllows.system(), myDdWordAllow)) // 各种其他配置 .init(); }

我测试的敏感词为:政府,国家,共产。白名单为:共产党。 执行:sensitiveWordBs.contains(“共产党是白名单不会被检测”)的结果是true。 执行:sensitiveWordBs.findAll(“共产党是白名单不会被检测”)的结果是 共产。 我的期望应该是返回false才对。 附config如下: SensitiveWordBs sensitiveWordBs = SensitiveWordBs.newInstance() .wordAllow(WordAllows.chains(WordAllows.system(), myWordAllow)) .wordDeny(myWordDeny) .init(); ---------我上次自己的回复好像被吃掉了 经查看源码,疑问已解决。白名单中只有跟敏感词一模一样的才会放过,只是包含的话不会放过。 虽然明白了原因,但是这个白名单实现方式不能解决我的问题。。。

符号加一个英文字母无法识别到,比如:+V,+Q这种; 但是符号加两个字母就能识别了,比如:+VX,+QQ;

实现接口:IWordDeny自定义敏感词典,词典里有两个敏感词:abc 和 ab, 只能识别到abc,识别不到ab

具体举例自定义敏感词O 和 O̷ 前者是包含后者的,但识别的时候却识别出来后者 具体表现为:首先上面俩个敏感词的替换策略都是想替换成0,我输入个王O来进行替换的时候会输出王O 就是因为会先识别 O̷ 这个敏感词替换为o然后在拼接后面的

```java @Lazy @Bean public SensitiveWordBs sensitiveWordBs(IWordAllow myWordAllow, IWordDeny myWordDeny) { return SensitiveWordBs.newInstance() .wordAllow(WordAllows.chains(WordAllows.defaults(), myWordAllow)) .wordDeny(WordDenys.chains(WordDenys.defaults(), myWordDeny)) .charIgnore(SensitiveWordCharIgnores.specialChars()) .init(); } ``` 上方初始化后(已经调用数据库保存的敏感词),想要执行 `wordReplace(WordReplaces.chars(symbol))` 方法,动态修改替换策略。 发现替换策略使用的是 `final IWordReplace replace = context.wordReplace();` 获取的。然而...

请求增加一个过滤IP地址的功能,可以避免掉一些链接发不出去改发IP的

代码为: final List words = Lists.newArrayList("fuck", "cao", "shit", "shift"); SensitiveWordBs holder = SensitiveWordBs.newInstance() .enableNumCheck(false) .wordDeny(() -> words) .init(); String word = "*OW,awv 10720hj\uD83D\uDC42YRLH\uD83D\uDE4Cl.L #N, E in cR,aQlgQ. 9k.a+47 gfj172.J59 ptjaUSERa...