系统设置
敏感词
敏感词过滤功能用于阻止包含特定内容的请求被转发到上游供应商。被拦截的请求不会产生任何费用,也不会记录到用量统计中。这是内容安全管控的重要组成部分。
访问敏感词页面
- 登录管理后台
- 在左侧导航栏选择「设置」
- 点击「敏感词」子菜单
功能概述
敏感词管理页面提供以下核心功能:
- 敏感词列表:查看所有已配置的敏感词规则
- 添加敏感词:创建新的过滤规则
- 编辑敏感词:修改现有规则的内容和匹配类型
- 删除敏感词:移除不再需要的规则
- 启用/禁用:临时关闭或开启单条规则
- 缓存刷新:手动刷新检测引擎的缓存
匹配类型
系统支持三种匹配模式,按检测性能从高到低排序:
| 匹配类型 | 说明 | 性能 | 适用场景 |
|---|---|---|---|
| 包含匹配 | 文本中包含该词即拦截 | 最高 | 简单关键词过滤 |
| 精确匹配 | 完全匹配该词才拦截 | 高 | 需要精确控制的词汇 |
| 正则表达式 | 支持复杂模式匹配 | 较低 | 灵活的模式匹配需求 |
包含匹配 (contains)
最常用的匹配方式,只要请求内容中包含指定的词语即触发拦截。匹配时不区分大小写。
示例:配置敏感词 password,以下内容都会被拦截:
请帮我找回passwordPASSWORD123mypassword
精确匹配 (exact)
仅当请求内容完全等于(去除首尾空格后)指定词语时才触发拦截。适用于需要精确控制的场景。
示例:配置敏感词 test,只有内容恰好为 test 时才会被拦截,testing 或 mytest 不会被拦截。
正则表达式 (regex)
使用正则表达式进行模式匹配,提供最大的灵活性。适用于复杂的匹配规则。
示例:
\b\d{11}\b- 匹配 11 位数字(如手机号)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}- 匹配邮箱地址密码[::]\s*\S+- 匹配「密码:xxx」格式的内容
正则表达式验证
添加正则表达式类型的敏感词时,系统会自动验证表达式的有效性。无效的正则表达式将无法保存。
添加敏感词
- 点击页面右上角的「添加敏感词」按钮
- 在弹出的对话框中填写以下信息:
- 敏感词(必填):要过滤的词语或正则表达式
- 匹配类型(必填):选择包含匹配、精确匹配或正则表达式
- 说明(可选):添加备注信息,方便日后维护
- 点击「创建」按钮保存
创建成功后,规则会自动生效,缓存会自动刷新。
编辑敏感词
- 在敏感词列表中找到要编辑的规则
- 点击该行右侧的编辑图标(铅笔图标)
- 在弹出的对话框中修改相应字段
- 点击「保存」按钮提交更改
编辑完成后,缓存会自动刷新以应用新规则。
删除敏感词
- 在敏感词列表中找到要删除的规则
- 点击该行右侧的删除图标(垃圾桶图标)
- 在确认对话框中确认删除操作
删除确认
删除操作需要二次确认,防止误删。删除后规则立即失效,缓存自动更新。
启用/禁用规则
每条敏感词规则都有独立的启用/禁用开关,位于列表的「状态」列。
- 启用状态:开关为开启状态,规则生效
- 禁用状态:开关为关闭状态,规则暂停生效
禁用规则而不删除它,便于临时调整过滤策略或保留规则以备后用。状态切换后缓存自动更新。
缓存机制
敏感词检测引擎采用内存缓存策略,以确保高性能的实时检测。
自动缓存刷新
以下操作会自动触发缓存刷新:
- 创建新的敏感词
- 编辑现有敏感词
- 删除敏感词
- 切换敏感词的启用/禁用状态
手动刷新缓存
点击「刷新缓存」按钮可以手动触发缓存重载。按钮旁会显示当前缓存中的敏感词数量。
将鼠标悬停在刷新按钮上,可以查看缓存统计信息:
- 包含匹配数:contains 类型规则数量
- 精确匹配数:exact 类型规则数量
- 正则表达式数:regex 类型规则数量
检测顺序
为了优化性能,检测引擎按以下顺序执行匹配:
- 包含匹配 - 速度最快,O(n*m) 复杂度
- 精确匹配 - 使用 Set 结构,O(1) 复杂度
- 正则表达式 - 速度最慢但最灵活
一旦任一类型匹配成功,立即返回结果,不再继续检测。
过滤效果
当请求内容命中敏感词规则时:
- 请求被立即拦截,不会转发到上游供应商
- 客户端收到错误响应,提示请求包含敏感内容
- 不会产生 Token 消耗和费用
- 拦截事件会被记录到系统日志中
敏感词列表字段说明
| 字段 | 说明 |
|---|---|
| 敏感词 | 配置的过滤词语或正则表达式 |
| 匹配类型 | 包含匹配、精确匹配或正则表达式 |
| 说明 | 规则的备注信息 |
| 状态 | 启用/禁用开关 |
| 创建时间 | 规则的创建时间 |
| 操作 | 编辑和删除按钮 |
最佳实践
- 优先使用包含匹配:性能最好,满足大部分过滤需求
- 正则表达式谨慎使用:复杂的正则可能影响检测性能,建议先测试
- 添加说明信息:为每条规则添加说明,方便团队成员理解规则用途
- 定期审查规则:定期清理不再需要的规则,保持列表简洁
- 测试新规则:添加新规则后,建议进行实际测试确保过滤效果符合预期
- 利用禁用功能:不确定是否需要的规则可以先禁用,而不是直接删除
注意事项
性能考虑
虽然检测引擎已做性能优化,但添加过多的正则表达式规则仍可能对请求处理速度产生影响。建议正则规则数量控制在合理范围内。
大小写敏感
包含匹配和精确匹配默认不区分大小写。正则表达式匹配默认使用 i 标志(不区分大小写)。
