SafeLine icon indicating copy to clipboard operation
SafeLine copied to clipboard

[建议] 希望增加一个“为空”和“不为空”的判断条件

Open Lvshujun0918 opened this issue 1 year ago • 6 comments
trafficstars

背景与遇到的问题

希望在黑名单的Header匹配条件中加入一个为空和不为空的选项,即判断Header头里面是否有某个参数。

建议的解决方案

如图 image

Lvshujun0918 avatar Mar 12 '24 08:03 Lvshujun0918

臣附议

zhxind avatar Mar 14 '24 06:03 zhxind

想拦截UA为空的访问,现在的配置项好些没办法实现

zhxind avatar Mar 14 '24 06:03 zhxind

为啥需要判断Header头里面是否有某个参数呢

Lorna0 avatar Mar 27 '24 06:03 Lorna0

比如说如果UA为空,那很有可能就是机器人

Lvshujun0918 avatar Mar 27 '24 08:03 Lvshujun0918

比如说如果UA为空,那很有可能就是机器人

你想说的是不是 【没有 UA】?机器人一般也不会特地发个 UA 但是为空。

可以看看大家反馈。但是 “拦截没有 UA 的请求” 这种规则非常好绕过呀,机器人加个 UA 就行了,似乎效果很有限?想防机器人的话还是建议直接开 “语义分析” - “机器人检测” 或者 “人机验证”。

Lorna0 avatar Mar 27 '24 08:03 Lorna0

我的意思就是请求头里不含UA这个字段。有这个判断条件可以判断出来当然是更好,用“机器人检测”有些识别不到。 又比如我的业务系统只有带特定某个Header(比如X-ACF)才能访问,具体校验可以等到后端,但前面可以通过防火墙先拦掉没有这个Header的请求,减轻后端压力。

Lvshujun0918 avatar Mar 27 '24 09:03 Lvshujun0918