apache 防盗链配置方法

修改httpd.conf
找到 <Dirctory "/var/www/html">
在这个Dirctory容器内添加:

 代码如下 复制代码

SetEnvIfNoCase Referer "^http://www.111cn.net/" local_ref=1
<FilesMatch ".(JPG|jpg)">
   Order Allow,Deny
   Allow from all
   Deny from env=local_ref
</FilesMatch>

#service httpd restart

其中的FilesMatch 对象,还需要根据自身的环境进行改动。比如路径或者添加(JPG|jpg|gif|mp3)等等

在Apache 的配置文件里面设置以下内容:

 代码如下 复制代码

SetEnvIf Referer "^http://(.)+.www.111cn.net/" local_ref=1
SetEnvIf Referer "^http://(.)+.isql.cn/" local_ref=1
#SetEnvIf Referer "^http://(.)+.other.org.cn/" local_ref=1
SetEnvIf Request_URI "/logo(.)+" local_ref=0
<FilesMatch ".(mp3|wmv|png|gif|jpg|jpeg|avi|bmp|ram|rmvb|rm|rar|zip|mp3)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>

解释:
1. 蓝色部分,表示设置允许访问的referer地址,第一行的意思为所有http协议访问,以.www.111cn.net结尾的域名地址,第二行类似,只是换成了.isql.cn,表问我前面的鬼符是什么,不懂得可以去翻正则表达式的研究文献,不想深究的可以照猫画虎设置自己的网站。
2. 绿色部分,表示不在上述引用域名范围内,但可以被放行的特例,本例中表示网站/目录,所有以logo开头的文件(用作允许其它网站的友情连接引用本站logo)。
3. 橙色部分是设置反盗链的关键部分,上面每一个设置都联系到了local_ref这个环境变量,只有这个变量为1,则允许被引用,否则显示一个X。

4. 紫色部分设置了哪些扩展名的文件加入反盗链的规则。

补充:
我是直接设置在httpd.conf里面的,如果只想针对哪个目录设置,可以放在目录的.htaccess文件内。
然后记得检查 http.conf 中论坛所在目录的设置,增加
代码内容
AllowOverride FileInfo AuthConfig Limit

以上方法可以禁止用户从其他网站或者直接在浏览器地址栏输入地址的方式访问附件。
另外,网上好多文档,都有错误,把SetEnvIf写成了SetEnvIfNoCase

附我以前用mod_rewrite写的

 代码如下 复制代码
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://bbs.www.111cn.net/.*[GV_contentText]nbsp; [NC]
RewriteCond %{HTTP_REFERER} !^http://bbs.www.111cn.net[GV_contentText]nbsp; [NC]
RewriteCond %{HTTP_REFERER} !^http://www.111cn.net/.*[GV_contentText]nbsp; [NC]
RewriteCond %{HTTP_REFERER} !^http://www.111cn.net[GV_contentText]nbsp; [NC]
RewriteCond %{HTTP_REFERER} !^http://www.111cn.net/.*[GV_contentText]nbsp; [NC]
RewriteCond %{HTTP_REFERER} !^http://www.111cn.net[GV_contentText]nbsp; [NC]
RewriteRule .*.(mp3|wmv|png|gif|jpg|jpeg|avi|bmp|ram|rmvb|rm|rar|zip)$ http://www.111cn.net [R,NC]

上面的,需要Rewrite模板.所有指定的文件,如果Referer不是上面的值,将被重定向到首页.

时间: 2024-11-01 15:22:50

apache 防盗链配置方法的相关文章

Nginx和Apache几种防盗链配置方法实例_nginx

要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫 referer,采用URL的格式来表示从哪儿链接到当前的网页或文件.换句话说,通过referer,网站可以检测目标网页访问的来源网页,如果是资源 文件,则可以跟踪到显示它的网页地址.有了referer跟踪来源就好办了,这时就可以通过技术手段来进行处理,一旦检测到来源不是本站即进行阻止或者返 回指定的页面. Nginx防盗链的配置 1.nginx针对文件类型的防盗链配置

服务器防盗链配置方法详解(apache/nginx)

nginx防盗链 1. 修改nginx配置文件,屏蔽指定文件的站外盗链:  代码如下 复制代码 location ~ .*.(gif|jpg|jpeg|png|bmp|swf|mp3)$     {       valid_referers none blocked server_names *.111cn.net;       if ($invalid_referer) {return 403;}       expires      30d;     } 第一行:设置防盗链类型为gif|jp

nginx rewrite重写规则与防盗链配置方法教程详解_nginx

导读:nginx rewrite重写规则与防盗链配置方法,rewrite规则格式中flag标记的几种形式,盗链时返回403错误,允许的域名直接跟在第二行的域名后面. nginx rewrite重写规则与防盗链配置方法如下所示: nginx rewite 规则,官方文档:http://wiki.nginx.org/NginxHttpRewriteModule nginx rewrite规则格式:rewrite regex replacement flag flag标记有四种格式: last – 相

Apache图片防盗链配置方法介绍(可用.htaccess)

图片防盗链配置规则很简单 RewriteRule .*.(gif|jpg|swf|png) 说明一下其中的R.NC 和 L R 就是转向的意思 NC 指的是不区分大小写 L 的作用是指明本次转向到此结束,后续的转向不受先前判断语句的影响 5.防止 盗链的文件类型 上例中是 gif.jpg.png,而根据须要 ,可修改 或添加其他文件类型,如rar.mov等,不同文件扩展名间运用 ""分割. 使用 rewrite 技术实现 Apache 防盗链 Apache 防盗链的第一种实现方法,可以

Apache 防盗链配置详解介绍

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

Apache中.htaccess 防盗链配置方法

先我们apache如果没有开启支持.htaccess , 可如下操作 开httpd.conf文件用文本编辑器打开后,查找  代码如下 复制代码 Options FollowSymLinks AllowOverride None 改为: Options FollowSymLinks AllowOverride All   可是我在我的httpd.conf文件里根本没有发现Options FollowSymLinks 之类的东西.我只好将  代码如下 复制代码   Options FollowSym

win2008 IIS7.5防盗链配置方法_win服务器

1.下载微软自己提供的IIS REWRITE模块:http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=1b8c7bd8-8824-4408-b8fc-49dc7f951a00 2.修改网站的web.config或用记事本制作一个web.config,记住将*txt格式改为.config 代码如下: 复制代码 代码如下: <system.webServer> <rewrite> <rules> &l

iis 与apache防盗链方法

目前有一种产品能比较好地支持iis的urlrewrite,名字叫isapi_rewrite. 对于我的网站,我防盗链的方法是在httpd.ini里面加入如下语句 rewritecond host: (.+) rewritecond referer: (?!http://1.*).* rewriterule .*.(?:gif|jpg|png|exe|rar|zip) /block.gif [i,   o] 修改安装目录中的httpd.ini文件(如果这个文件为"只读"属性,则去掉&qu

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

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