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

添加到购物车攻击机器人检测返回错误状态码排查

问题排查与解决方案

核心原因分析

当前规则出现的问题主要来自两个方面:

1. 规则执行顺序与[L]标志冲突

原blockbot规则未添加[L]标志,导致设置环境变量后服务器会继续执行后续的重定向规则。而重定向规则带有[L]标志,会直接终止所有规则处理并返回重定向响应,LiteSpeed服务器还没来得及处理blockbot变量对应的403拦截逻辑。

2. 条件逻辑范围偏差

原规则的OR条件链范围错误,将非www域名/HTTPS关闭与机器人UA/异常Referer混在同一个OR组中,逻辑上变成"满足任意一个条件即触发拦截",既不符合你"只拦截不含www的add-to-cart机器人请求"的初衷,也可能导致部分目标请求的匹配逻辑失效。

修正后的规则方案

方案一:保留blockbot环境变量逻辑

调整条件分组,明确"非www/HTTPS关闭"和"机器人/异常Referer"为两组必须同时满足的条件,并添加[L]标志终止后续规则:

# 拦截非www/HTTPS off的恶意add-to-cart请求
RewriteCond %{QUERY_STRING} (^|&)add-to-cart=[0-9]+ [NC]
RewriteCond %{HTTP_USER_AGENT} !googlebot [NC]
# 第一组:必须是非www域名或HTTPS未开启
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
# 第二组:必须是机器人UA或异常Referer
RewriteCond %{HTTP_USER_AGENT} (bot|crawl|spider) [NC,OR]
RewriteCond %{HTTP_REFERER} \?.*(^|&)add-to-cart=[0-9]+(&|$) [NC,OR]
RewriteCond %{HTTP_REFERER} ^$ [NC]
# 设置blockbot变量并终止后续规则处理
RewriteRule .* - [E=blockbot:1,L]

# 重定向到www HTTPS域名
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]

方案二:直接返回403(更可靠,不依赖服务器预设变量)

跳过LiteSpeed的blockbot变量,直接用[F]标志返回403,避免服务器配置的不确定性:

# 直接拦截非www/HTTPS off的恶意add-to-cart请求
RewriteCond %{QUERY_STRING} (^|&)add-to-cart=[0-9]+ [NC]
RewriteCond %{HTTP_USER_AGENT} !googlebot [NC]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteCond %{HTTP_USER_AGENT} (bot|crawl|spider) [NC,OR]
RewriteCond %{HTTP_REFERER} \?.*(^|&)add-to-cart=[0-9]+(&|$) [NC,OR]
RewriteCond %{HTTP_REFERER} ^$ [NC]
RewriteRule .* - [F,L]

# 重定向到www HTTPS域名
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]

额外验证步骤

若测试时仍看到302,大概率是浏览器缓存了之前的301重定向,可使用命令行工具测试避免缓存干扰:

curl -I https://example.com/?add-to-cart=1735

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 18:05:11