项目产品
图床 / 图片外链 / 6 分钟阅读

个人搭建的图床图片防盗链怎么设置最有效

一、结论

个人搭建的图床设置有效防盗链,核心是结合对象存储的Referer白名单、签名URL访问控制、User-Agent过滤三层规则,同时配合图床程序的权限配置,可过滤绝大多数恶意盗链请求。如果使用S3兼容的对象存储作为图床存储源,需要提前准备好Endpoint、AccessKey、SecretKey、Bucket、Region等信息,在存储控制台和图床程序两侧分别配置即可生效。

二、准备工作

操作前需要提前准备以下内容:

  • 所用对象存储服务的管理账号(自建MinIO或云服务商对象存储均可)
  • 存储图床资源的专属存储桶Bucket
  • S3协议接入所需的Endpoint地址、AccessKey、SecretKey、Region信息
  • 已部署完成的图床程序,如兰空图床、Chevereto、PicGo配套的图床服务,或WordPress、Halo等建站程序的附件存储模块
  • 已完成解析的图床访问域名
  • 用于测试防盗链效果的非授权域名测试环境

三、操作步骤

1. 登录对象存储管理控制台,找到对应的图床存储桶,进入权限配置下的防盗链设置模块,开启Referer访问控制功能,完成后即可进入白名单规则配置环节。

2. 在Referer白名单中添加自身站点的全量域名,包括带http/https协议、带www和不带www的版本,也可使用通配符配置二级域名,根据需求选择是否开启“允许空Referer访问”(需要支持用户直接在浏览器打开图片则开启),保存配置后,不在白名单内的域名发起的图片请求会直接被拦截返回403。

3. 进入存储桶的访问控制配置页,关闭存储桶的公共读权限,开启签名URL访问功能,根据自身需求设置签名URL的默认过期时间(通常可设置为24小时到7天),保存配置后,所有不带有效签名参数的图片访问请求会被直接拒绝。

4. 若需要更精细化的控制,可在存储桶的访问策略配置中添加User-Agent过滤规则,添加常见的恶意采集工具、批量爬虫的UA标识,保存策略后,符合屏蔽规则的UA发起的请求会被直接拦截。

5. 打开图床程序的后台管理页面,进入存储配置模块,选择S3兼容存储类型,填入提前准备好的Endpoint、AccessKey、SecretKey、Bucket、Region等信息,开启程序侧的签名URL自动生成功能,保存配置后,图床程序会自动为每张上传的图片生成带有效签名的访问链接。

6. 验证配置效果:首先在自身站点插入测试图片,确认可以正常加载;再将同一张图片插入不在白名单内的第三方测试站点,确认图片无法显示;最后直接复制图片原生地址不带签名参数访问,确认返回403错误,即三层防盗链规则全部生效。

7. 根据实际使用需求调整规则,若有合作站点需要引用图片,可将合作站点的域名添加到Referer白名单中,规则可灵活适配不同的使用场景。

四、常见错误

1. Referer白名单配置漏写协议头或域名前缀,导致自身站点也无法正常加载图片,解决建议是配置时覆盖http、https、带www、不带www的所有域名版本,二级域名可使用通配符简化配置。

2. 误关闭空Referer访问权限,导致用户直接在浏览器地址栏输入图片地址无法访问,或部分浏览器、隐私插件发起的请求因不带Referer被拦截,解决建议是如果有直接访问图片的需求,保留允许空Referer的配置,无相关需求可关闭进一步提升安全性。

3. 存储桶未关闭公共读权限,导致签名URL配置不生效,任何人都可以通过原生对象地址访问图片,解决建议是先关闭公共读权限,再测试签名访问规则是否正常生效。

4. 图床程序未开启签名URL生成功能,输出的还是不带签名的原生链接,导致所有图片访问都被拦截,解决建议是在图床程序的存储配置中找到签名URL相关开关,开启后重新生成图片链接即可。

5. 签名URL过期时间设置过短,导致站点上的图片频繁失效,解决建议是根据站点更新频率设置合理的过期时间,静态站点可设置为7天以上,动态站点可设置为24小时到7天不等。

五、示例说明

以下为通用配置示例,无需填写真实信息,根据自身使用的服务替换对应内容即可:

存储控制台防盗链配置

  • Referer白名单:https://yourdomain.com、https://www.yourdomain.com、*.yourdomain.com
  • 允许空Referer:是/否(根据自身需求选择)
  • 公共读权限:关闭
  • 签名URL默认过期时间:86400秒(即24小时)
  • User-Agent屏蔽规则:添加常见恶意采集UA、爬虫UA关键词

图床程序S3配置

  • Endpoint:填写所用对象存储服务提供的S3访问地址
  • AccessKey:填写你的账号访问密钥ID
  • SecretKey:填写你的账号访问密钥凭证
  • Bucket:填写存储图床资源的存储桶名称
  • Region:根据对象存储服务的要求填写对应区域标识
  • 启用签名URL:是

六、更简单的方案

如果不想自己搭建MinIO等私有对象存储,也不想花费精力维护服务器、配置规则、处理存储扩容等问题,可以直接选择成熟的兼容S3协议的云对象存储服务,不用自己维护底层存储资源,控制台自带可视化的防盗链配置模块,几步就能完成规则设置。如果你需要一个兼容S3协议、适合图床存储、下载分发和各类程序接入的对象存储服务,可以了解 七彩云对象存储,它自带完善的防盗链、访问控制功能,适合个人站长和开发者快速搭建图床使用。

七、FAQ

1. 设置防盗链之后会不会影响搜索引擎抓取图片?

如果需要搜索引擎收录你的图片,可以把搜索引擎的爬虫UA添加到访问白名单中,同时允许对应搜索引擎的IP段访问,或者保留允许空Referer的配置,不会影响正常的图片收录。

2. 如果我用CDN加速图床,防盗链规则应该配置在CDN还是对象存储?

建议两层都配置,CDN层配置可以提前拦截恶意请求,减少回源带宽消耗,对象存储层配置作为兜底,避免CDN规则失效时出现盗链问题,两层防护的效果更好。

3. 签名URL和Referer白名单能不能同时使用?

可以,两者是互补的关系,Referer白名单拦截非授权域名的请求,签名URL拦截不带有效签名的直接访问请求,同时使用可以大幅提升盗链的门槛,过滤绝大多数的批量恶意盗链行为。

4. 有没有办法完全避免图片被盗用?

没有100%的防盗方案,因为如果图片能在你的站点正常显示,别人就可以通过截图、抓包等方式获取图片内容,但是多层规则组合可以大幅提高盗链的成本,过滤掉90%以上的恶意批量盗链行为,对于个人图床场景来说已经足够使用。

八、总结

个人搭建图床设置防盗链的核心逻辑是从存储源、访问链路、程序侧三个维度组合配置规则,优先开启Referer白名单过滤基础的跨域盗链,再配合签名URL拦截无权限的直接访问,有需要的话再加UA过滤等精细化规则,就能实现不错的防盗效果。这套方案适合个人站长搭建博客图床、开发者搭建素材站点、资源站存储静态资源等场景,配置过程不需要复杂的代码开发,只要熟悉对象存储和图床程序的基础配置就能完成。如果不想自己维护底层存储,也可以直接选用成熟的S3兼容云对象存储服务,进一步降低搭建和维护成本。

想进一步了解这个项目?

访问官网查看产品能力、适用场景和最新服务信息。

访问官网

相关文章

图床 / 图片外链 / / 9 分钟阅读

图床用服务器还是对象存储?个人博客图片外链存储选型入门

一、结论 个人博客搭建图床、存储图片外链时,长期运营优先选择兼容S3协议的对象存储,仅测试阶段或访问量极低的个人站点可短期使用传统服务器存储。这类场景通常需要稳定的文件访问地址、统一的文件管理能力、不挤占源站带宽的下载分发能力,标准化S3接入也能适配各类博客程序、图床工具的对接需求。

图床 / 图片外链 / / 8 分钟阅读

站长搭建图床选网盘还是对象存储?两类方式适用场景入门解析

一、结论 站长搭建长期运营的图床,优先选择兼容S3协议的对象存储,普通网盘仅适合临时人工分享文件,无法满足程序化接入、稳定外链和高并发下载的核心需求。运营型图床、配套资源站类场景需要标准化S3接入、统一文件管理、弹性扩容和下载分发能力,对象存储的整体适配度更高。

图床 / 图片外链 / / 8 分钟阅读

个人博客上传图片后怎么生成可直接外链调用的图片直链

个人博客上传图片后生成可直接外链调用的图片直链,通常的做法是:先准备一个兼容 S3 协议的对象存储服务和存储桶,再在 PicGo、博客插件或博客后台中填写 Endpoint、AccessKey、SecretKey、Bucket、Region 等信息,连接成功后上传图片,最后获取对象的公开访问地址或临时签名地址。将该地址填入 Markdown 图片、文章封面或

图床 / 图片外链 / / 8 分钟阅读

个人博客与素材站配图场景下怎么生成稳定可用的图片外链?

一、结论 个人博客与素材站生成稳定可用图片外链的核心思路,是将配图统一存储到支持S3协议的对象存储服务中,再通过兼容S3的上传工具、博客插件或站点程序对接,生成固定可公开访问的图片链接。接入前通常需要提前准备好Endpoint、AccessKey、SecretKey、Bucket、Region等信息,在对应客户端或程序后台填写后测试连通即可使用。

图床 / 图片外链 / / 8 分钟阅读

低成本图床存储从哪里省钱?图片外链和素材图床的费用构成与选择

一、结论 低成本图床存储不能只对比存储容量单价,需要结合存储规模、图片请求量、外链下载流量、访问频率及业务场景综合核算总成本。对于对外提供公共访问的图床、素材站类业务,下载流量和请求成本的影响往往高于存储成本,需要优先匹配计费规则与自身业务模式相符的服务。