帝国CMS本身不直接提供“一键开启”的防盗链功能,但可以通过服务器配置结合系统设置实现图片防盗链。核心原理是通过限制HTTP Referer来阻止其他网站直接引用你的图片资源。

1. 图片防盗链的实现原理

防盗链依赖服务器(如Apache、Nginx)的重写规则,判断请求来源(Referer)。如果请求来自非授权站点,则拒绝访问或返回替代图片。

常见做法:在服务器配置中添加规则,只允许本站域名访问图片文件(如jpg、png、gif等),防止被外站嵌套使用,节省带宽和保护内容版权。

2. Nginx环境下设置图片防盗链

如果你使用Nginx服务器,编辑网站的server配置文件,加入以下location规则:

location ~* \.(jpg|jpeg|png|gif|webp)$ {
valid_referers none blocked *.yourdomain.com yourdomain.com;
if ($invalid_referer) {
return 403;
# 可选:返回一张提示图
# return 301 /images/nohotlinking.jpg;
}
}

说明:

- 将 yourdomain.com 替换为你的实际域名。

- valid_referers 允许空Referer(直接访问)、本站域名及子域名。

- $invalid_referer 为真时,表示来源非法,返回403禁止访问。

3. Apache环境下设置防盗链

使用Apache的用户可在网站根目录的.htaccess文件中添加如下规则:

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$ [NC]

RewriteCond %{HTTP_REFERER} !yourdomain.com [NC]

RewriteRule \.(jpg|jpeg|png|gif|webp)$ /forbidden.png [R,L]

说明:

- 允许空Referer访问(避免部分浏览器无法加载)。

- 判断Referer是否包含你的域名,不匹配则重定向到指定图片或返回403。

- /forbidden.png 可替换为你准备的提示图路径。

4. 帝国CMS后台配合建议

虽然帝国CMS不内置防盗链开关,但可通过以下方式优化:

上传图片时尽量使用相对路径或完整站内链接,确保内容页调用正常。

在“系统参数设置” → “基本属性”中确认附件路径正确,避免因路径问题导致误拦截。

可自定义错误页面或替代图片,提升用户体验。

基本上就这些。防盗链的关键在服务器层配置,只要规则写对,帝国CMS的图片就能有效防止被外站盗用。注意测试手机端、微信内嵌浏览器等场景,部分环境Referer可能为空,需合理设置例外。