apache 防盗链

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

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

二. 使用 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]

防盗链配置的说明:

  • 红色部分: 表示自己的信任站点。对我的站点来说,设置为 http://www.debris.cn 和 http://debris.cn
  • 绿色部分: 要保护文件的扩展名(以|分开)。以这些为扩展名的文件,必须通过红色标注的网址引用,才可以访问。
  • 蓝色部分: 盗链后的重定向页面。用以输出警示信息,这张图片应该尽可能的小。为了简单处理的原因,我的绿色字体部分,要保护的图片扩展中,没有 .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.

[url=]

debris.cn

[/url]

[url=]/about/nolink.png [R.NC][/url]

注意:

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

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

还一种写法,是用正则的,这种写法在各个版本的apache比较通用。
写法是

SetEnvIfNoCase Referer "^http://.*\.yourdomin\.com" local_ref
SetEnvIfNoCase Referer ".*\.yourdomin\.com" local_ref
SetEnvIfNoCase Referer "^$" local_ref
<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif)"> 
Order Allow,Deny 
Allow from env=local_ref 
</filesmatch>

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

四. Apache 防盗链的技术小结

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

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

apache 防盗链的相关文章

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服务器上做防盗链配置

Apache 防盗链小结

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

企业级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 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支持在运行时装载;不过要开启这种特性,在编译安装要启用这三种功能: --

网站防盗链的配置之apache

如果我们的网站有一些非常有用的资源,别人需要用到却又不愿意下载时,可能会直接复制我们网站资 源的链接地址,然后拷贝到其他的地方,那么别人再去访问这些资源的时候,会直接跳转到我们的服务 器上,这对于我们来说没有任何意义,还要额外地去增加流量和负载的开销,那怎么防止别人盗用我们 的资源链接呢?这里我们可以采用配置apache防盗链的方式. 具体做法如下: 在apache的虚拟主机配置文件 /usr/local/apache/conf/extra/httpd-vhost.conf 中加入如下配置: S