千家信息网

Apache 防盗链小结

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,Apache 防盗链小结Apache 防盗链的第一种实现方法,可以用 rewrite 实现。一. 遭遇图片盗链国内网站盗链成风,最倒霉的就是咱们这种使用付费主机有流量限制的个人了。没办法,只得加上了一
千家信息网最后更新 2025年01月20日Apache 防盗链小结

Apache 防盗链小结

Apache 防盗链的第一种实现方法,可以用 rewrite 实现。

一. 遭遇图片盗链


  国内网站盗链成风,最倒霉的就是咱们这种使用付费主机有流量限制的个人了。没办法,只得加上了一个简单的反盗链(Anti-Leech)措施。我的服务器是 Apache,处理防盗链比较简单。 也欢迎各位光临小弟的论坛,记忆碎片www.debris.cn,希望大家多多指导!

二. 使用 rewrite 技术实现 Apache 防盗链 (拒绝后跳转到指定页面)
  Apache 防盗链的第一种实现方法,可以用 rewrite 实现。首先要确认 Apache 的 rewrite module 可用:能够控制 Apache httpd.conf 文件的,打开 httpd.conf,确保有这么一行配置:


代码如下:


LoadModule rewrite_module modules/mod_rewrite.so


然后在找到自己网站对应的 配置的地方,加入下列代码:


代码如下:


ServerName debris.cn
# 防盗链配置
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://debris.cn/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://debris.cn$ [NC]

RewriteCond %{HTTP_REFERER} !^http://www.debris.cn/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.debris.cn$ [NC]
RewriteRule .*\.(gif|jpg|swf)$ http://www.debris.cn/about/nolink.png [R,NC]


防盗链配置的说明

  1. 红色部分: 表示自己的信任站点。对我的站点来说,设置为 http://www.debris.cn和 http://debris.cn

  2. 绿色部分: 要保护文件的扩展名(以|分开)。以这些为扩展名的文件,必须通过红色标注的网址引用,才可以访问。

  3. 蓝色部分: 盗链后的重定向页面。用以输出警示信息,这张图片应该尽可能的小。为了简单处理的原因,我的绿色字体部分,要保护的图片扩展中,没有 .png 的图片,而警示图片是 .png的。

  然后重新启动 apache 服务器即可。

  有些用户使用的是虚拟主机,没有服务器的控制权,无法修改 httpd.conf 文件和重启服务器。那么请确认你的虚拟主机支持 .htaccess,将上面的配置写入 .htaccess 文件,放入根目录或图片所在的目录即可:


代码如下:


.htaccess 文件的内容:
# 防盗链配置
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://debris.cn/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://debris.cn[NC]
RewriteCond %{HTTP_REFERER} !^http://www.debris.cn*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.debris.cn$ [NC]
RewriteRule .*\.(gif|jpg|swf)$ http://www.debris.cn/about/nolink.png [R,NC]


注意:

1、httpd.conf 文件里的配置,是在 apache 启动时一次读取,效率很高
2、.htaccess 文件里的配置,每次访问都需要读取分析,效率很低。

三. 使用 SetEnvIfNoCase 和 access 技术实现 Apache 防盗链 (直接拒绝)

另一种方式是利用 SetEnvIfNoCase 和 access。具体的代码如下:


代码如下:


SetEnvIfNoCase Referer "^http://debris.cn"local_ref=1
SetEnvIfNoCase Referer "^http://www.debris.cn" local_ref=1

Order Allow,Deny
Allow from env=local_ref


将上述代码,放入前面所讲的 httpd.conf 或 .htaccess 文件即可。

四. Apache 防盗链的技术小结

  通过判断 referer 变量的值,判断图片或资源的引用是否合法,只有在设定范围内的 referer,才能访问指定的资源,从而实现了防盗链(Anti-Leech)的目的。需要指出的是:不是所有的用户代理(浏览器)都会设置 referer 变量,而且有的还可以手工修改 referer,也就是说,referer 是可以被伪造的。本文所讲的,只是一种简单的防护手段。当然,应付一般的盗链也足够了。

欢迎大家访问记忆碎片 www.debris.cn ,在碎片中寻找你的记忆!

防盗 文件 配置 代码 图片 服务器 部分 服务 主机 技术 碎片 小结 变量 扩展名 效率 方法 用户 站点 红色 绿色 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 php网页上传图片到数据库 智能汽车气候控制软件开发多少钱 办公局域网数据库安全访问技术 河北网络技术开发口碑推荐 方舟端游中运行专用服务器是什么 加密认证是网络安全措施 中国互联网有什么科技 海康存储服务器下载教程视频 消费机服务器 长城服务器怎么配置管理网口 软件开发服务部 呃服务器啊 分布式数据库分表设计 保险影像查询无数据库 风电场网络安全知识培训总结 微信公众平台连数据库 公安网络技术部门管理制度 蜂考数据库 c3p0 阿里数据库 美团优选服务器出现异常怎么办 深圳麒麟软件开发公司 河北网络技术开发口碑推荐 电脑网络安全防护怎么开启 软件开发如何做好需求分析 邯郸办公系统软件开发哪家实惠 阳泉软件开发哪家不错 商丘市网络安全课堂收费吗 安卓模拟器应用服务器连接失败 山西电信服务器虚拟主机 网络技术交流社区
0