辛辛苦苦拍的产品图、熬了几个通宵做的设计图,转头就被别人的网站「顺手牵羊」,流量被薅走,服务器还替别人打工——这是不少站长和运营小伙伴的真实痛点。今天,陕西星环深索的技术团队就用大白话,把网站图片防盗链的设置方法讲清楚。

一、什么是盗链?

简单说,就是别人的网站直接引用你服务器上的图片地址。访客打开的是他的页面,图片却从你的服务器下载,带宽你出、流量你扛,他坐享其成。

判断方法也不复杂:在浏览器里直接打开图片地址,再看看访问日志里是不是出现了大量来自陌生域名的请求,基本就能确认。

二、方法一:Referer 校验(最常用)

浏览器请求图片时会带上 Referer 头,相当于告诉服务器「我从哪个页面来」。我们只需要判断这个来源是不是自家域名即可。

  • 允许空 Referer:方便用户直接输入图片地址访问,也避免部分 App 内置浏览器被误伤;
  • 只放行白名单:比如自己的主站、小程序 WebView 页面、合作方域名;
  • 其余一律返回 403,或者干脆返回一张「防盗链提示图」。

三、方法二:Nginx 配置轻松搞定

如果服务器用的是 Nginx,配置起来非常轻量:

location ~ .*\.(gif|jpg|jpeg|png|webp|svg)$ {
    valid_referers none blocked *.yourdomain.com;
    if ($invalid_referer) {
        return 403;
    }
}

把 yourdomain.com 换成自己的域名,reload 一下即可生效。需要注意的是,Referer 是可以被伪造的,所以它更适合做「防君子」的第一道门槛。

四、方法三:签名 URL 防盗链(更安全)

对安全性要求高的场景,比如付费课程图、电商商品原图,建议使用带时效签名的 URL:由服务端生成带时间戳和密钥签名的地址,CDN 校验通过才放行,过期自动失效。这样即使链接被复制出去,也很快会「过期作废」。

五、方法四:水印 + CDN + 监控组合拳

  • 给图片加上品牌水印,就算被搬走,也顺带帮你做了一次品牌曝光;
  • 把图片交给 CDN,开启 Referer 黑白名单和鉴权功能,源站压力更小;
  • 定期查看访问日志和 CDN 报表,发现异常来源及时拉黑。

六、几个容易踩的坑

  • 一刀切禁止空 Referer,导致用户从聊天工具点开链接时图片全部裂开;
  • 白名单漏了自家的小程序或 App 域名,出现「自己人访问不了」的尴尬;
  • 只做前端 JS 限制,实际上毫无作用,抓包就能绕过;
  • 忘记同步配置到 CDN,源站设了、CDN 没设,等于白干。

七、写在最后

防盗链不是「防死」,而是在用户体验和安全之间找平衡。陕西星环深索深耕西安软件开发与西安网站开发多年,从西安小程序开发、企业官网搭建到 AI智能体开发,都会把资源防护、访问鉴权这类细节提前设计进方案里。如果你也遇到过图片被盗用、带宽莫名飙升的问题,欢迎随时来聊聊,我们帮你把这扇「门」装好。