帝国CMS附件防盗链,图片资源保护设置

帝国CMS附件防盗链的核心原理是检查HTTP请求头中的Referer字段,只允许来自你自己站点的请求访问附件目录。
如果你发现服务器流量异常、图片被其他网站直接引用,或者想从源头减少附件被外部消耗,按下面步骤操作即可完成设置并验证效果。

先确认你的服务器环境和附件路径

动手之前需要知道两件事:Web服务器类型和帝国CMS附件实际存放目录。

常见的两种环境判断方式:

  • 宝塔面板用户:进入软件商店查看已安装的是Nginx还是Apache。
  • 命令行用户:执行 nginx -vhttpd -v 查看。

帝国CMS默认附件目录是 /d/file/,对应服务器上的物理路径通常是网站根目录下的 d/file/
如果你在后台修改过附件存放目录,以实际设置为准。
可在帝国CMS后台“系统设置”→“文件存放目录”中确认。

配置Referer白名单实现防盗链

防盗链的本质是告诉服务器:只有来自特定域名的请求才能读取附件。

Nginx环境配置方法

在网站对应的Nginx配置文件中,找到 server 块,在 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ 之类的静态资源规则附近添加:

location ^~ /d/file/ {
    valid_referers none blocked server_names *.yourdomain.com yourdomain.com;
    if ($invalid_referer) {
        return 403;
    }
}

yourdomain.com 替换为你的真实域名。none 表示允许直接访问(如浏览器地址栏输入),blocked 表示允许被防火墙或代理去掉Referer的请求。

保存后执行 nginx -t 检查语法,再 nginx -s reload 重载配置。

Apache环境配置方法

在网站根目录的 .htaccess 文件中添加:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?yourdomain\.com [NC]
RewriteRule \.(gif|jpg|jpeg|png|bmp|swf)$ - [F,NC]

同样替换域名后保存即可,Apache通常无需重载。

容易踩坑的几个地方

配置防盗链时,以下问题出现频率最高:

  • CDN回源被拦截:如果你的站点用了CDN,CDN节点回源时Referer可能为空或为CDN域名,需要把CDN回源地址加入白名单。
  • 后台预览图片失效:帝国CMS后台某些页面直接引用附件路径,建议将后台域名也加入白名单,或保留 none 规则。
  • 采集或推送工具异常:部分工具请求时不带Referer,如果业务依赖这些工具,需要单独放行其IP或User-Agent。
  • 规则顺序错误:Nginx中 location 匹配有优先级,防盗链规则应放在更具体的路径匹配中,否则可能被其他规则覆盖。

验证防盗链是否真正生效

配置完成后不要只看浏览器,要用可复现的方式验证:

在本地浏览器直接打开一张附件图片地址,正常应能显示,因为 none 被允许。

然后用命令行模拟外部引用:

curl -e "https://othersite.com" -I https://yourdomain.com/d/file/2024/01/example.jpg

如果返回 403 Forbidden,说明防盗链已生效。
返回 200 则需要检查白名单配置是否遗漏或规则未重载。

最后在帝国CMS前台文章页刷新,确认正文图片正常显示,说明没有误伤自己站点的正常访问。

常见疑问

开启防盗链后,搜索引擎还能收录我的图片吗?

主流搜索引擎抓取图片时通常会带Referer,如果担心影响收录,可以将百度、谷歌等常见搜索引擎域名加入白名单,但需自行评估是否必要。

为什么配置后自己网站图片反而不显示了?

最常见原因是白名单域名写错或漏写 www 前缀。
建议同时加入带 www 和不带 www 的域名,并确认 server_names 变量是否生效。

帝国CMS本身有没有防盗链功能?

帝国CMS后台没有直接的附件防盗链开关,防盗链需要在Web服务器层面配置,这也是本文推荐的做法。

手机端和PC端域名不同怎么办?

如果使用了独立的移动端域名,需要把两个域名都加入Referer白名单,否则手机访问时图片会被拦截。

完成以上配置后,你的帝国CMS附件防盗链就基本生效了。
建议先在小范围测试,确认正常访问和防盗效果都符合预期,再正式全站启用。

分享到:
上一篇
帝国CMS栏目复制,快速创建同类栏目:帝国CMS栏目复制
下一篇
PageAdmin网站API接口开发
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意