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  ,在碎片中寻找你的记忆!

时间: 2024-10-07 07:33:29

Apache 防盗链小结的相关文章

apache 防盗链

Apache 防盗链的第一种实现方法,可以用 rewrite 实现. 一. 遭遇图片盗链  国内网站盗链成风,最倒霉的就是咱们这种使用付费主机有流量限制的个人了.没办法,只得加上了一个简单的反盗链(Anti-Leech)措施.我的服务器是 Apache,处理防盗链比较简单. 也欢迎各位光临小弟的论坛 二. 使用 rewrite 技术实现 Apache 防盗链 (拒绝后跳转到指定页面) Apache 防盗链的第一种实现方法,可以用 rewrite 实现.首先要确认 Apache 的 rewrite

apache 防盗链 与 地址重写

一.apache 防盗链  与  地址重写 http://192.168.4.254/254.html 盗链代码 192.168.4.254  web-server vim  254.html <html> <body> <a href="http://192.168.4.253/one.png" >  show image </a> </body> </html> 在192.168.4.253服务器上做防盗链配置

企业级nginx服务优化(三 )Apache+防盗链

apache   worker/prefork  /application/apache/bin/apachectl -l | sed -n '/worker\|prefork/p'   worker.c Server MPM:     Worker ./configure    --with-mpm=worke  //编译时指定,,默认是prefork prefork  默认 使用多个子进程,每个子进程只有一个线程 效率高,稳定,安全,比worker消耗资源多 vim  /applicatio

apache 防盗链和隐藏版本

实验环境:一台linux主机作为服务器,二台win10作为测试机 实验步骤 挂载源代码包,解压,配置,编译,安装(流程可参考之前博客,注意一定要配置rewrite模块,这是防盗链的) 下面进行编码,安装,make,make install 因为涉及到域名解析,所以要安装dns服务 二个服务安装完成,分别配置dns dnsf服务配置完成,启动,关闭防火墙,增强型安全功能 apache 进入配置文件更改 在网站站点首页添加一个图片 配置完成,启动服务 二台客户机写明dns解析地址,尝试访问 另一台客

Apache 防盗链配置

盗链 网站内有许多的图片地址,或一些我们可以用到的资源,在这种情况下,我可以通过赋值其他图片链接地址,到我自己的平台上,这样相当于盗取了一张图片的链接,那么盗链会有什么危害呢? 当我们盗取一张图片链接放入我们自己的平台时,我们每次访问平台也会连带 链接图片一起访问,要知道我们访问的图片是不在我们自己平台服务调去的资源,而是在获取链接图片的那台服务上边调用的,耗费的自然是它的资源请求,如果我们使用的平台访问量特别大,那会间接的导致盗取的链接服务一起被消耗资源,消耗带宽,所以为了避免这样的事情发生我

Apache防盗链和隐藏版本信息

实验要求:三台虚拟机分别是:linux和两台windows虚拟机,linux虚拟机为服务器,Windows7-1为客户端,Windows7-2为盗链端.实验步骤:(一)防盗链1.把httpd.apr.apr-util安装包解压缩到/opt目录中tar zxvf apr-1.4.6.tar.gz -C /opt/tar zxvf apr-util-1.4.1.tar.gz -C /opt/tar zxvf httpd-2.4.2.tar.gz -C /opt/2.切换到opt目录中,把解压的文件夹

Apache防盗链

盗链是指在自己的页面上展示一些并不在自己服务器上的内容.通常的做法是通过技术手段获得它人服务器上的资源地址,绕过别人的资源展示页面,直接在自己的页面上向最终用户提供此内容.比较常见的是一些小站盗用大站的资源(图片.音乐.视频),对于这些小站来说,通过盗链的方法可以减轻自己服务器的负担,因为真实的空间和流量均是来自别人的服务器.对大站造成的影响确实增加了服务器压力,用户还不是自己的. 防盗链就是防止这种行为的产生,实施防盗链系统后,因为屏蔽了那些盗链的间接资源请求,从而可以大大减轻服务器及带宽的压

apache的rewrite重写、日志切割、防盗链

一.rewrite重写 mod_rewrite 提供了基于正则表达式规则动态修改传入的请求的 URL 的方法.可以定义任意的的url映射到内部的站点文件中 1演示现象,解决效果,得出rewrite概念 2-1如何实现具体讲解步骤,可以带入原理 2-2实践 3剖析实现原理,提升知识面 4小结 1.rewrite需求 我们在使用Apache做为Web服务器时,有时候出于SEO优化或者是url路径的简洁,需要将输入的url转换成更为友好的url,这时候就可以使用rewrite重写功能. rewrite

apache web服务器与防盗链的设置

一.安装apache2.4.23 新版本的httpd-2.4新增以下特性: 新增模块: mod_proxy_fcgi(可提供fcgi代理) mod_ratelimit(限制用户带宽) mod_request(请求模块,对请求做过滤) mod_remoteip(匹配客户端的IP地址) 对于基于IP的访问控制做了修改,不再支持allow,deny,order机制,而是统一使用require进行 还新增以下几条新特性: 1.MPM支持在运行时装载;不过要开启这种特性,在编译安装要启用这三种功能: --