apache防盗链(图片/文件)多种方法

如果你有自己的服务器就请先对./conf/httpd.conf 文件做以下修改
找到:#LoadModule rewrite_module modules/mod_rewrite.so
把前面的 # 给去掉
找到等一个 AllowOverride None 改为 AllowOverride All
重启Apache2服务器
接下就是做一个 .htaccess 文件了,其 .htaccess 文件内容为

 代码如下 复制代码
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^[url]http://test.com.ru/.[/url]*$ [NC]
RewriteCond %{HTTP_REFERER} !^[url]http://test.com.ru$[/url] [NC]
RewriteCond %{HTTP_REFERER} !^[url]http://www.test.com.ru/.[/url]*$ [NC]
RewriteCond %{HTTP_REFERER} !^[url]http://www.test.com.ru$[/url] [NC]
RewriteRule .*.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$
[url=http://down.test.com.ru/err.html]http://down.test.com.ru/err.html[/url]
[R,NC]

其中有色的地方都是要改为你的:
 红色:就是改为你提供下载页面的地址,也就是只有通过这个地址才可以下载你所提供的东东。
 蓝色:就是要保护文件的扩展名(以|分开),也就是说以这些为扩展名的文件只有通过红色的地址才可以访问。
 绿色:如果不是通过红色的地址访问蓝色这些为扩展名的文件时就回重定向到绿色地址上。
接下就是怎么用 .htaccess 文件来实现防盗链了。
 首先要在空间上建两个目录(当然目录名随你),一个为 web 另一个为 down ,
 web 是用来放下载页面的(或下载程序),down 当然就是放你提供的东东的啦,
 把 .htaccess 文件的红色部分改一下,改为http://你的域名/web。蓝色部分
 改为你要保护文件的扩展名。绿色部分改为http://你的域名/web。改后保存

htaccess防盗链简单快捷。

首先建一个.htaccess文件 (linux系统一般是Apache服务器),写入如下代码,上传至网站根目录:
 

 代码如下 复制代码

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$ [NC]

RewriteCond %{HTTP_REFERER} !www.111cn.net [NC]

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

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

RewriteCond %{HTTP_REFERER} !www.hihi123.com [NC]

RewriteRule .*.(gif|jpg|png)$ http://www.111cn.net/ nopic.gif [R,NC,L]

 

说明:

    上面是以我的网站www.111cn.net为例,依次设置允许访问的HTTP来源,包括我们的站点自身、google.com、baidu.com这些搜索引擎网站,便于收录,可以添加更多网站,复制多一行修改就行了。

最后面那一行代码是防盗链扩展名,自己添加修改;http://www.111cn.net

位置一般情况下在 /usr/local/apache/conf/httpd.conf
或者apache 2.2 的 /usr/local/apache2/conf/extra/httpd-vhost.conf
添加

 代码如下 复制代码
SetEnvIfNoCase Referer "^http://www.ccvita.com" local_ref=1
  SetEnvIfNoCase Referer "^http://ccvita.com" local_ref=1 
<filesmatch ".(txt|doc|mp3|zip|rar|jpg|gif)"> 
Order Allow,Deny 
Allow from env=local_ref 
</filesmatch>

其中粗体的是您的网址,如果有多个,就加多行
斜体的是您需要防盗链的文件后缀,中间用|隔开

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

 代码如下 复制代码
SetEnvIfNoCase Referer "^<strong>http://.*.yourdomin.com</strong>" local_ref=1  SetEnvIfNoCase Referer "<strong>.*.yourdomin.com</strong>" local_ref=1 
<filesmatch ".(txt|doc|mp3|zip|rar|jpg|gif)"> 
Order Allow,Deny 
Allow from env=local_ref 
</filesmatch>

其中粗体的部分有一点区别,用正则写法, 符号代表转义,因为.本身在正则中有自己的作用。

上面说的是Apache防盗链的使用,现在来说Apache防盗链的破解,说简单点Apache防盗链是通过来路来确定用户是否盗链的,如果自己写采集程序的话,我们完全可以利用php的curl_setopt函数中CURLOPT_REFERER和CURLOPT_USERAGENT这个两个函数去模拟referer和useragent的。

时间: 2024-10-23 15:42:14

apache防盗链(图片/文件)多种方法的相关文章

Nginx 防盗链(图片/文件/目录防盗链)

1.防盗链处理 通过REFERER判断  代码如下 复制代码 location ~ .*.(gif|jpg|jpeg|png|bmp|wma|mp3|swf)$ {       valid_referers none blocked server_names demo.hyzy120.com *.baidu.com:       if ($invalid_referer) {return 403;}     expires      30d; } #demo.hyzy120.com   允许的网

php怎样显示加速乐防盗链图片 一般的破解方法解决不了

问题描述 php怎样显示加速乐防盗链图片 一般的破解方法解决不了 php怎样在网站里显示加速乐防盗链图片 一般的破解方法解决不了 直接输地址可以正常显示 嵌到img标签就显示不了了http://pic.qyer.com/album/user/1104/78/QEhVRh0PYUs/index/670 解决方案 这张图片没问题.如果防盗链的话,你要自己写代码获取远程图片,设置好来源 http://www.poluoluo.com/jzxy/201406/277888.html 解决方案二: 用fi

使用PHP破解防盗链图片的一个简单方法_php技巧

有自己的主机一般都会设计"防盗链", 其实包括图片防盗链,和下载防盗链等,如:1.使用.htaccess设置防盗链 复制代码 代码如下: RewriteEngine onRewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^http://(www\.)?jb51.net/.*$ [NC]RewriteRule \.(gif|jpg)$ http://www.jb51.net/image.gif [R,L] 2.ngin

Apache 防盗链的技术小结_Linux

一. 遭遇图片盗链 个人网站使用的是国外付费空间,有流量限制.今天是 2007.03.29,收到主机商的通知邮件,提醒我本月的流量即将超出配额.--超出流量,就要向万恶的美帝资本家交银子,吓我一跳,平常网站的流量根本使用不完,马上查看 awstats 的日志分析,没有发现什么异常.于是把 access log 日志拉下来,用逆火网站日志分析器检查了一下站点盗链情况,发现本站的 深圳高交会之神州龙芯 CPU 映象记[图文] 以及 香港2005年春季行(3) - 庙街风光等原创文章中的图片,被许多网

破解防盗链图片的php函数

现在很多网站和论坛的图片都在使用防盗链技术,既然有防盗链,那么肯定就有破解防盗链的方法啦,下面小编就来为你提供一个破解防盗链图片的php函数.不过只支持jpg和gif 哦,如果想支持多种图处格式,大家可以做下修改. $url=$_GET['url']; $ext=pathinfo($url,PATHINFO_EXTENSION); if($ext!='jpg' && $ext!='gif'){ // 只支持jpg和gif readfile('/upload/2008120913055753

Apache 防盗链配置详解介绍

apache防盗链最常用的配置一种是在服务器中进行配置,另一种是在.htaccess 中进行配置,两种语法与效果完全相同. Apache 防盗链的第一种实现方法,可以用 rewrite 实现.首先要确认 Apache 的 rewrite module 可用:能够控制 Apache httpd.conf 文件的,打开 httpd.conf,确保有这么一行配置:  代码如下 复制代码 LoadModule rewrite_module modules/mod_rewrite.so .htaccess

rewrite 技术实现 Apache 防盗链

apache 防盗链的第一种实现方法,可以用 rewrite 实现.首先要确认 apache 的 rewrite module 可用:能够控制 apache httpd.conf 文件的,打开 httpd.conf,确保有这么一行配置: 复制代码 代码如下: loadmodule rewrite_module modules/mod_rewrite.so 在找到自己网站对应的 配置的地方,加入下列代码: 复制代码 代码如下: servername 111cn.net # 防盗链配置 rewrit

MFC 在对话框显示图片的多种方法

  我们先从简单的开始吧.先分一个类: (一) 非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) (二) 动态载入图片(即只需要在程序中指定图片的路径即可载入) 为方便说明,我们已经建好一个基于对话框的工程,名为Ttest. 对话框类为CTestDlg (一)     非动态载入图片. 方法1.先从最简单的开始,用picture 控件来实现. 步骤: 先在资源里Import一张图片,ID为IDB_BITMAP2 然后在对话框上添加一个picture控件,右键点击打开属性, 将type

python使用PyGame绘制图像并保存为图片文件的方法

  本文实例讲述了python使用PyGame绘制图像并保存为图片文件的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 ''' pg_draw_circle_save101.py draw a blue solid circle o