情况是这样的:
如果特定用户代理在 5 分钟内向域发送超过 10 个请求,则规则必须使用代码 429 进行响应。
429响应的持续时间为1小时。无论代理在该小时内继续发出请求,该小时后都会被解锁(代码 200)。
随后,该过程返回到点1并重复。
我的规则是
SecAction "id:13576460, phase:1, nolog, pass, initcol:resource=%{REQUEST_HEADERS.User-Agent}_%{REQUEST_HEADERS.Host}"
SecRule REQUEST_HEADERS:User-Agent "@contains facebookexternalhit" \
"id:13576461,\
phase:2,\
t:none,\
setvar:resource.counter=+1_%{REQUEST_HEADERS.Host},\
expirevar:resource.counter=300_%{REQUEST_HEADERS.Host},\
setvar:resource.blocked=+1_%{REQUEST_HEADERS.Host},\
expirevar:resource.blocked=3600_%{REQUEST_HEADERS.Host},\
nolog"
SecRule RESOURCE:blocked "@ge 10" \
"id:13576462,\
phase:2,\
t:none,\
deny,\
status:429,\
log,\
msg:'Excessive requests from user agent'"
不幸的是,这只是部分有效。请允许我详细说明:
问题来了:只关注1小时标准,无论Agent是否继续发送请求,是否都可以实现解封?
谢谢你。
通过在家做非常简单的在线工作,每月赚取超过 22,000 美元。我在兼职做这份工作,上个月我已经赚到并收到了 22,365 美元。我现在是一个很好的在线赚钱者,赚到了足够的现金来满足我的需要。每个人都可以在这个网站上找到这个在线工作......
这里——≻≻≻≻≻earn54.com