Skip to content

使用指南

阿里云国际代理商: DCDN 防盗链配置 Referer 与 IP 黑白名单拦截爬虫

一、海外爬虫盗刷 DCDN 流量的特征分析

出海业务使用全站加速 DCDN,经常遭遇恶意爬虫盗刷带宽,造成账单异常上涨。盗刷流量常见特征:

  1. 带宽异常波动:非业务高峰(凌晨)带宽突增,但业务层没有对应的用户访问、交易数据。
  2. 资源高度集中:请求集中于高清图片、短视频、安装包等大体积静态资源。
  3. 访问来源异常:大量请求来自非目标业务区域海外 IP,UserAgent 为脚本、爬虫工具,非正常浏览器标识。

盗刷排查建议优先开启DCDN 实时日志投递至 SLS 日志服务,实时统计按流量排序 Top IP、Top Referer、Top UserAgent;离线日志存在延迟,适合事后复盘。 如果高频访问 IP 归属地与业务目标市场不符,返回状态码大量为 200/206,可判定为可疑盗刷源。

前置重要提示

  1. DCDN 访问控制 IP 黑白名单:黑名单 / 白名单同一域名只能二选一,切换类型必须清空原有规则;上限约 2000 条 IPv4、700 条 IPv6,总字符上限 30KB,IPv6 不支持缩写格式;大批量封禁建议调用 OpenAPI,不建议控制台手动录入。
  2. APP、客户端业务请求大多不带 Referer 头,Referer 白名单模式下务必评估是否勾选「允许空 Referer」,否则会出现 APP 全部 403 报错。
  3. Referer 防盗链主要防御第三方网站嵌套盗链,无法抵御直接抓取资源链接的爬虫,不能单独作为防爬虫主力方案。
  4. 访问控制规则修改后边缘节点异步下发,通常 515 分钟全网生效,不是立即全部节点生效。
  5. Bot 管理、人机验证属于 DCDN 边缘 WAF 增值功能,需要额外开通,并非 DCDN 基础自带能力。

二、Referer 与 IP 黑白名单的防御机制

阿里云国际 DCDN 基础访问控制能力中,Referer 防盗链与 IP 黑白名单是第一层协同防护手段。

  • Referer 防盗链:校验 HTTP 请求 Referer 请求头,判断访问来源域名。主要用于拦截第三方网站嵌套引用我方资源,无法防御直接抓取 URL 的爬虫。

规则细节:填写example.com会自动匹配*.example.com全部子域名,支持开启忽略 HTTP/HTTPS 协议 scheme,减少规则维护量。

  • IP 黑白名单:边缘节点直接匹配客户端源 IP,在节点层面拦截,不需要回源,节省源站与带宽消耗。适合封禁已经确认的恶意攻击 IP。

二者分工:Referer 解决第三方站点盗链;IP 黑名单处置已经识别的恶意爬虫源 IP。

三、阿里云国际 DCDN 防盗链配置步骤

前置条件:已经开通 DCDN,域名接入完成 CNAME 解析,域名状态正常。

1、配置 Referer 黑白名单

  1. 登录阿里云国际控制台,进入【DCDN 全站加速】
  2. 打开【域名管理】,选中目标域名,点击【配置】
  3. 左侧菜单进入【访问控制】【Referer 防盗链】
  4. 开启功能,选择白名单 / 黑名单模式
  5. 填入域名规则,支持通配符*.example.com;根据业务勾选是否允许空 Referer

重点:APP、客户端业务,请求大多不带 Referer 头,禁止空 Referer 会直接导致 APP 访问 403;浏览器书签、隐私模式、HTTPS 跳转 HTTP 场景同样会产生空 Referer 请求。

  1. 保存配置,等待边缘节点异步下发(515 分钟全网生效)。

2、配置 IP 黑白名单

  1. 在同一域名【访问控制】模块,打开【IP 黑白名单】
  2. 选择名单类型:黑名单 / 白名单,二者互斥,不能同时启用;切换类型必须清空原有全部规则。
  3. 录入规则:支持单个 IP、CIDR 网段,多条使用回车分隔;IPv6 不支持缩写格式。

上限提示:最大约 2000 条 IPv4、700 条 IPv6,总字符不超过 30KB;恶意 IP 数量巨大时,建议调用 OpenAPI 做限时封禁,不建议控制台手动维护永久黑名单。

  1. 保存配置,等待全网节点生效。

补充基础能力:DCDN 同时支持 UserAgent 黑白名单,可以拦截已知爬虫 UA,可作为辅助防护手段。

四、策略对比:Referer 与 IP 过滤的适用场景

表格

对比维度 Referer 防盗链 IP 黑白名单
工作原理 校验 HTTP Referer 请求头字段 校验客户端源 IP 地址
防御对象 第三方网站盗链、网页嵌套引用资源 固定 IP 扫描器、已知爬虫源、异常区域访问
维护成本 低,配置后相对静态 中等,需要持续分析日志更新 IP 库
误伤风险 中等;禁止空 Referer 容易误伤 APP、书签访问 高;封禁大 CIDR 网段极易误伤正常海外用户
局限性 HTTP 头极易被爬虫脚本伪造,无法防直接抓取 URL 面对住宅代理池、动态轮换 IP 爬虫几乎无效

五、拦截效果验证与排错

注意:配置修改后存在节点下发延迟;本地 curl 仅可验证 Referer 逻辑,无法验证 IP 黑名单效果,IP 黑名单需要外部测试机器验证。

curl 模拟 Referer 测试命令:

# 模拟非法Referer,预期返回403

curl -I -e “http://malicioussite.com” https://yourdomain.com/resource.jpg

 

# 模拟合法Referer,预期返回200

curl -I -e “http://www.yourdomain.com” https://yourdomain.com/resource.jpg

测试要点:URL 后增加随机参数?t=123绕过节点缓存,避免旧缓存干扰测试结果。 同时查看 DCDN 实时访问日志,确认恶意请求状态码变为 403。

常见排错:

  1. 配置保存之后规则不生效两种可能性:①边缘节点配置尚未全部下发,等待 515 分钟;②命中 CDN 节点旧缓存,请求增加随机参数测试。
  2. 正常用户被拦截 403
  • Referer 场景:网页业务检查是否勾选「允许空 Referer」;APP 客户端业务不建议直接关闭空 Referer。
  • IP 黑名单场景:检查是否误封禁大网段 CIDR,优先封禁单个恶意 IP,谨慎使用大段网段。
  1. APP 客户端全部访问 403APP 请求大多无 Referer 头,白名单模式下必须开启允许空 Referer,或者改用 IP/UA 黑白名单、URL 鉴权方案。

六、方案局限性与进阶建议

Referer + IP 黑白名单属于基础防护,只能拦截低成本爬虫,存在明显短板:

  1. Referer 请求头可以被爬虫脚本随意伪造绕过。
  2. 住宅代理池爬虫 IP 不断轮换,静态 IP 黑名单无法持续拦截。

分层进阶防护方案:

  1. URL 鉴权:URL 增加时间戳 + 加密签名,资源链接具备时效性,安全性远高于 Referer 防盗链,适合图片、视频等核心静态资源。
  2. DCDN 边缘 WAF + Bot 管理模块(增值付费):开启 Bot 行为分析、JS / 滑块人机校验,识别高级代理爬虫;搭配扫描防护,对高频扫描源自动临时拉黑。
  3. 监控告警:配置带宽突增告警、403 拦截量告警,及时发现盗刷与大规模误拦截。

常见问题 (FAQ):

Q1:阿里云国际 DCDN 如何配置 Referer 防盗链? A:进入 DCDN 域名配置访问控制Referer 防盗链,开启防护,选择白名单 / 黑名单模式,填写域名规则;根据业务评估是否允许空 Referer,APP 客户端业务禁止直接关闭空 Referer,保存后等待节点配置下发。

Q2:如何利用 DCDN 的 IP 黑白名单拦截海外恶意爬虫? A:通过 SLS 实时日志分析提取恶意 IP,访问控制IP 黑白名单选择黑名单模式,录入 IP 或者 CIDR 网段;注意黑名单与白名单互斥,有 IP 条目上限,大批量 IP 优先调用 OpenAPI 做限时封禁,不要随意封禁大网段。

Q3:DCDN 防盗链配置后误伤正常用户怎么办? A:若是 Referer 规则,优先检查空 Referer 开关;若是 IP 黑名单,缩小封禁范围,避免大 CIDR 网段。对于高级爬虫场景,不要依赖静态黑白名单,升级 URL 鉴权或者边缘 WAF Bot 防护。

Q4:DCDN 带宽遭遇恶意盗刷如何排查防护? A:排查优先开启实时日志投递 SLS,统计 Top IP、Referer、UA;防护采用分层思路:基础层 Referer+IP 黑白名单;核心资源开启 URL 鉴权;高级爬虫叠加边缘 WAF Bot 管理。

Q5:保存访问控制规则,测试却没有拦截效果是什么原因? A:①配置异步下发,需要等待 515 分钟;②浏览器 / 节点缓存旧响应,URL 增加随机参数再测试;③黑白名单模式互斥,确认没有同时混用黑白名单配置。

文章标签