Files
blackbird/waf/rules/local/exceptions.conf
T
qing 87538e7729 fix(waf): 豁免扩展到所有笔记写接口 (add/update/edit/delete_note)
修正正则匹配 query 前缀问题,统一豁免笔记接口的 CRS 误报规则。
2026-08-04 21:52:15 +08:00

21 lines
1.3 KiB
Plaintext

# exceptions.conf —— 误报白名单
# 当某条 CRS 规则误报时,在此用 SecRuleRemoveById 或 ctl:ruleRemoveById 关闭
#
# 示例:关闭 100003 对 /login 路径的检查
# SecRule REQUEST_URI "@beginsWith /login" \
# "id:100100,phase:1,pass,nolog,ctl:ruleRemoveById=100003"
# ============================================================
# 100100: 对笔记相关接口豁免 CRS 误报规则
# 背景:嵌入式/技术笔记含 C 代码(if() 条件、select、sbit 等),
# 被 CRS 的 SQLi/命令注入规则误判为攻击(942170/942230/932xxx/934xxx)。
# 覆盖接口:/add_note、/update_note、/edit_note、/delete_note 等笔记写操作。
# 方案:仅移除误报规则本身,其余 CRS 规则仍生效,兼顾正常提交与安全检测。
# 若后续文章仍被误拦,把日志中新增的 rule_id 追加到 ctl:ruleRemoveById 列表。
# ============================================================
SecRule REQUEST_URI "@rx ^/(?:add|update|edit|delete)_note" \
"id:100100,phase:1,pass,nolog,\
ctl:ruleRemoveById=942170,ctl:ruleRemoveById=942230,\
ctl:ruleRemoveById=932120,ctl:ruleRemoveById=932125,ctl:ruleRemoveById=932140,ctl:ruleRemoveById=932235,ctl:ruleRemoveById=932260,\
ctl:ruleRemoveById=934110,ctl:ruleRemoveById=934160"