APACHE简单防盗链
类别: 服务器教程
Apache简单防盗链
防盗链设置样本:
SetEnvIf Referer "^http://(.)+.etoow.com/" 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协议访问,以.etoow.com结尾的域名地址,第二行类似,只是换成了.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.etoow.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://bbs.etoow.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.etoow.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.etoow.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://etoow.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://etoow.com$ [NC]
RewriteRule .*.(mp3|wmv|png|gif|jpg|jpeg|avi|bmp|ram|rmvb|rm|rar|zip)$ http://www.etoow.com [R,NC]
上面的,需要Rewrite模板.所有指定的文件,如果Referer不是上面的值,将被重定向到首页.
防盗链设置样本:
SetEnvIf Referer "^http://(.)+.etoow.com/" 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协议访问,以.etoow.com结尾的域名地址,第二行类似,只是换成了.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.etoow.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://bbs.etoow.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.etoow.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.etoow.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://etoow.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://etoow.com$ [NC]
RewriteRule .*.(mp3|wmv|png|gif|jpg|jpeg|avi|bmp|ram|rmvb|rm|rar|zip)$ http://www.etoow.com [R,NC]
上面的,需要Rewrite模板.所有指定的文件,如果Referer不是上面的值,将被重定向到首页.
- 上一篇: WINDOWS 2003服务器安全配置终极技巧
- 下一篇: APACHE 防盗链方法
-= 资 源 教 程 =-
文 章 搜 索