手机
当前位置:查字典教程网 >操作系统 >RedHat/Centos >利用apache防盗连方法
利用apache防盗连方法
摘要:防盗链原理:http标准协议中有专门的字段记录referer一来可以追溯上一个入站地址是什么二来对于资源文件,可以跟踪到包含显示他的网页地址...

防盗链原理: http标准协议中有专门的字段记录referer 一来可以追溯上一个入站地址是什么 二来对于资源文件,可以跟踪到包含显示他的网页地址是什么。 因此所有防盗链方法都是基于这个Referer字段 网上比较多的2种 一种是使用apache文件FileMatch限制,在httpd.conf中增加 ( 其实也可以将把下面的语句存成一个.htaccess文件),并放到你的网站的 根目录(就是www/html目录),这样子别人就没有办法盗连你的东东了~~

SetEnvIfNoCase Referer "^http://aabbcc.com/" local_ref=1

Order Allow,Deny

Allow from env=local_ref

Allow from 127.0.0.1

第二种是使用rewrite,需要增加apache的mode_rewrite,支持.htaccess文件目录权限限制

在虚拟主机根目录增加.htaccess文件,描述从定向,把非本地地址refer的图片文件都从定向到警告图片或者警告网页上。

首先要确认你的服务器或空间的服务器解译引擎为Apache2,还有支持.htaccess客户设置文件,

如果你有自己的服务器就请先对./conf/httpd.conf 文件做以下修改

找到:#LoadModule rewrite_module modules/mod_rewrite.so

把前面的 # 给去丢

找到等一个 AllowOverride None 改为 AllowOverride All

重启Apache2服务器

接下就是做一个 .htaccess 文件了,其 .htaccess 文件内容为

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^http://aabbcc.com/.*$ [NC]

RewriteCond %{HTTP_REFERER} !^http://aabbcc.com$ [NC]

RewriteCond %{HTTP_REFERER} !^http://www.aabbcc.com/.*$ [NC]

RewriteCond %{HTTP_REFERER} !^http://www.aabbcc$ [NC]

RewriteRule .*.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ http://www.aabbcc.com/err.html [R,NC]

还有第三种:

我在解决plog禁止盗链的时候,发现个问题,也算个好方法。

plog把所有资源都自己管理起来,用resserver.php来动态显示,这样统一的入口方便 添加权限操作。

同时造成上面2种方法无法使用,因为不再是apache直接访问资源文件,而是php通过文件读取。

因此只能在代码中做手脚:在读取资源文件输出之前,加如下判断代码引用

$referer = $_SERVER['HTTP_REFERER'];

$selfurl = $_SERVER['HTTP_HOST'];

if(false == strpos($referer,$selfurl))

{

echo '非法盗链!';

exit(1);

}

这里有些偷懒,直接看引用地址中是否包含host地址,不过原理就是这样,判断referer是否是本站地址。

我们常常在下载的时候,也碰到盗链网站无法下载,报盗链的问题。要下载这类文件最简单的方法就是改referer

比方flashget中,网址下面的"引用"一栏中,直接填写下载地址就可以了。

【利用apache防盗连方法】相关文章:

如何修改apache 2最大连接数

Linux查看磁盘剩余空间方法

centos中为svn客户端配置代理的方法

Linux系统下配置SSH方法

FTP出现500 OOPS: cannot change directory的解决方法

在RHEL系统中使用CentOS的yum源的方法

忘记mysql root密码的解决方法

TurboLinux11添加新硬盘方法

Linux系统常用压缩的解压方法

openoffice不能调用SCIM的问题解决方法

精品推荐
分类导航