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

htaccess防止盗链与网页爬取、重定向恶意请求到警告页问题排查

配置错误原因

你的.htaccess规则存在两个核心问题,导致无法达到预期效果:

  • 规则仅对携带非空Referer的请求生效,而恶意站点使用PHP的file()函数发起的服务器端请求默认不会携带任何Referer头,会直接命中RewriteCond %{HTTP_REFERER} !^$的排除条件,完全绕过你的校验逻辑。
  • 即便你删除上述排除空Referer的条件,也会误杀大量正常用户请求:用户直接在地址栏输入域名访问、从收藏夹打开站点、从部分社交/工具类客户端跳转访问时,都会携带空Referer,这些正常请求会被误重定向到警告页,导致站点无法正常访问。

额外说明

本质上基于Referer的校验规则,只能防御普通的前端资源盗链(比如其他站点嵌入你的图片、视频等静态资源),完全无法防御这种服务器端主动爬取内容的场景——爬虫可以随意自定义请求头,甚至完全模拟正常浏览器的所有请求参数,Referer校验对这类攻击没有实际防御效果。

可行的防御方案

如果需要防御这类内容爬取,可采用以下方案:

  • 动态内容渲染:将页面核心内容通过JavaScript动态加载,简单的服务器端爬虫不会执行JS代码,无法获取到完整的有效内容。
  • 访问频率限制:对同一IP的请求频率设置阈值,爬虫高频爬取时自动拦截,返回警告页。
  • 请求特征校验:校验请求是否携带正常浏览器会默认携带的标准头信息(比如Accept、Accept-Language等),过滤特征明显的爬虫请求。
  • 反爬指纹校验:给首次访问的用户下发校验Cookie/Token,只有携带合法校验信息的后续请求才返回正常内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:06:02