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

htaccess SetEnvIfNoCase无法拦截HTTP恶意来源请求求助

适配HTTP/HTTPS场景的恶意请求拦截规则

问题根源在于规则执行顺序:如果HTTPS重定向规则优先于拦截规则执行,HTTP来源的恶意请求会先被重定向到HTTPS,此时拦截规则未对原始HTTP请求生效,导致绕过拦截。

以下是调整后的完整规则,确保HTTP和HTTPS请求都能被正确拦截:

# 1. 先执行恶意请求拦截规则,覆盖HTTP/HTTPS场景
SetEnvIfNoCase Referer ".*(poker|sevastopol|semalt|best|o-o-6-o-o|linkwebdirectory).*" bad_referer
SetEnvIfNoCase Referer "\.pw" bad_referer
SetEnvIfNoCase User-Agent "Acunetix" bad_referer
SetEnvIfNoCase User-Agent "FHscan" bad_referer
Deny from env=bad_referer

# 2. 再执行HTTPS重定向规则
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

关键说明:

  • 规则顺序:拦截规则必须放在HTTPS重定向规则之前,确保所有HTTP请求在被重定向前先经过恶意来源检查,避免绕过。
  • 正则兼容性:原有的Referer正则已兼容HTTP/HTTPS链接,.*会匹配http://或https://开头的任意前缀,只要包含目标关键词就会被标记为bad_referer。
  • 可选扩展:如果需要拦截空Referer或其他特殊场景,可添加额外规则:
    # 拦截空Referer(按需启用)
    SetEnvIfNoCase Referer "^$" bad_referer
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 02:00:14