腾旭云的一位客户曾在月底发现对象存储的外网下行流量比上个月多了好几倍,网站访问量却没有明显变化。排查后才知道,存储桶里的商品图片被几个采集站直接引用,别人的访客每看一次图,流量费都记在他的腾讯云账号上。这类情况叫“盗链”,COS 自带的防盗链功能可以有效拦截。

防盗链靠什么判断

浏览器加载一张图片时,通常会在请求中带上 Referer,告诉服务器“这个请求来自哪个页面”。COS 防盗链就是根据 Referer 来判断是否放行:在白名单模式下,只有来自指定域名的请求才能访问;在黑名单模式下,来自指定域名的请求会被拒绝。白名单更适合自有网站的图片,黑名单适合已知个别盗链来源、但又希望保持广泛可访问的场景。

COS 根据请求 Referer 判断放行或拒绝访问的防盗链示意

配图为流程示意,非控制台截图或交易凭据。

配置项与建议

配置项可选值建议
防盗链状态开启或关闭存放公开图片的存储桶建议开启
名单类型白名单或黑名单自有网站图片优先用白名单
域名列表支持填写具体域名和通配形式主域名与 www、移动端域名都要列全
空 Referer允许或拒绝需兼顾直接打开链接和部分 App 的访问

“空 Referer”需要单独斟酌:用户在浏览器地址栏直接打开图片链接、部分 App 或播放器请求资源时,往往不带 Referer。如果拒绝空 Referer,这些正常访问也会失败;如果允许,盗链者也可能利用这一点绕过。多数网站会先允许空 Referer,观察流量后再决定是否收紧。

上线前的验证

开启防盗链后,至少验证四种情况:从自己网站页面加载图片应正常;从其他域名的测试页面引用应被拒绝;直接打开图片链接的结果应符合空 Referer 设置;App、小程序等客户端加载是否受影响。如果存储桶前面还接了 CDN,要在 CDN 侧同步配置防盗链,否则请求可能在 CDN 节点命中缓存后直接返回,不经过 COS 的判断。

开启防盗链后分别从自有页面、外部页面与直接链接验证访问结果的示意

配图为流程示意,非控制台截图或交易凭据。

示例:采集站流量被拦截后的变化

前面提到的客户在腾旭云协助下开启了白名单模式,列入主站、移动站和管理后台三个域名,暂时允许空 Referer。第二个月外网下行流量回到正常水平,采集站上的图片全部显示为加载失败。他还把私密的订单附件迁到了另一个私有读写的存储桶,通过临时签名链接提供下载。

防盗链能防止别人下载图片吗?

防盗链主要阻止外站直接引用,无法阻止用户手动保存已经显示的图片,Referer 也可能被伪造。真正需要保护的文件应使用私有权限加签名链接。

开启防盗链后自己的网站图片也不显示了?

通常是域名列表漏掉了某个实际使用的域名,例如带端口的测试域名或新上线的子站。逐个核对页面所在域名,补全名单后再次测试。

延伸阅读与办理

可继续阅读腾讯云账号怎样只给子用户开一个 COS 存储桶的权限?。需要办理时,先查看腾讯云账号服务说明,再通过腾旭云咨询入口说明用途与待核对事项。

官方资料

腾讯云:COS 防盗链设置;腾讯云:创建存储桶。资料核对日期:2026-11-04。文中清单为操作准备建议;产品条件、实际收费和可用功能以相应账号的官方页面及有效订单为准。