ORACLE联机日志文件丢失或损坏的处理方法- -| 回首页 | 2005年索引 | - -MakePic.com 图片制造

Apache简单防盗链

                                      

Apache简单防盗链

防盗链设置样本:

SetEnvIf Referer "^http://(.)+\.ilinux\.cn/" 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协议访问,以.ilinux.cn结尾的域名地址,第二行类似,只是换成了.isql.cn,表问我前面的鬼符是什么,不懂得可以去翻正则表达式的研究文献,不想深究的可以照猫画虎设置自己的网站。
2. 绿色部分,表示不在上述引用域名范围内,但可以被放行的特例,本例中表示网站/目录,所有以logo开头的文件(用作允许其它网站的友情连接引用本站logo)。
3. 橙色部分是设置反盗链的关键部分,上面每一个设置都联系到了local_ref这个环境变量,只有这个变量为1,则允许被引用,否则显示一个X。
4. 紫色部分设置了哪些扩展名的文件加入反盗链的规则。

补充:
我是直接设置在httpd.conf里面的,如果只想针对哪个目录设置,可以放在目录的.htaccess文件内。
另外,网上好多文档,都有错误,把SetEnvIf写成了SetEnvIfNoCase

附我以前用mod_rewrite写的
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://bbs.ilinux.cn/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://bbs.ilinux.cn$      [NC]
RewriteCond %{HTTP_REFERER} !^http://www.ilinux.cn/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://www.ilinux.cn$      [NC]
RewriteCond %{HTTP_REFERER} !^http://ilinux.cn/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://ilinux.cn$      [NC]
RewriteRule .*\.(mp3|wmv|png|gif|jpg|jpeg|avi|bmp|ram|rmvb|rm|rar|zip)$ http://www.ilinux.cn [R,NC]
上面的,需要Rewrite模板.所有指定的文件,如果Referer不是上面的值,将被重定向到首页.


【作者: ipaddr】【访问统计:】【2005年03月31日 星期四 09:45】【 加入博采】【打印

Trackback

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=1063998

回复

- 评论人:无法防盗链呀   2005-11-22 18:30:40   

无法防盗链呀,很不稳定,有时可以,有时不行,
我的配置:
win2003 sp1
  Apache v2.0.54 (Win32)
  PHP v4.4.0 (Win32)
  Zend Optimizer v2.5.10a (Win32)
  MySQL v4.0.25 (Win32)

评论内容: