You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS WAF正则过严误拦URI,如何调整匹配控制字符?

调整AWS WAF控制字符检测正则以避免误匹配

原正则表达式(?i)0x([01][0-9A-F]|7F)用于检测控制字符的十六进制编码,但会误匹配/...120x120.png这类正常URI——因为其中的120x片段会被正则识别为符合0x开头的模式。

解决方案

通过添加负向后行断言来排除0x前面是数字的情况,精准匹配真正的控制字符编码:

(?i)(?<!\d)0x([01][0-9A-F]|7F)
  • (?<!\d) 是负向后行断言,确保0x的前面不是数字,这样120x中的0x(前面是数字2)就不会被匹配,而像0x12这类合法的控制字符编码会被正确识别。

如果AWS WAF支持单词边界语法,也可以使用以下正则实现类似效果:

(?i)\b0x([01][0-9A-F]|7F)
  • \b 表示单词边界,仅当0x作为一个独立的单词起始部分时才会匹配,避免了数字后跟随0x的误触发场景。

注意事项

优先选择负向后行断言的方案,因为单词边界\b在某些特殊字符(如符号、下划线)附近可能出现不符合预期的匹配,而负向预查更精准针对本次误匹配的核心场景。

内容的提问来源于stack exchange,提问作者LTP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 04:20:55