English
 电子信箱
 加入收藏

  威盾防火墙 >> 新闻中心 >> 威盾新闻 >> Referer防盗链

 

Referer防盗链

威盾防火墙 2014-11-07

 

 呼叫中心企业后台管理系统和前台座席系统页面中都有通话记录录音的试听和下载功能,如何在用户试听和下载录音的时候不暴露录音地址或者录音地址不能被盗用呢?这就涉及到mp3,图片等资源的防盗链问题。

简单的,我们可以用HTTP请求header中的referer判断,只要referer是内部网站的地址或者可信任的地址,就可以访问相应资源。通过Apache的FilesMatch配置可以实现,在Apache的配置文件httpd.conf中加入:

SetEnvIfNoCase Referer “^http://www.example.com” local_ref=1
SetEnvIfNoCase Referer “^http://test.example.com” local_ref=1
<FilesMatch “\.(txt|doc|mp3|zip|rar|jpg|gif)”>
    Order Allow,Deny
    Allow from env=local_ref    #referer为www.example.com或test.example.com的请求
    Allow from 127.0.0.1          #本机地址
</FilesMatch>

其中SetEnvIf指令根据客户端的请求属性设置环境变量,SetEnvIfNoCase代表当满足某个条件时,为变量赋值,一般结合其他指令使用。

也可以使用正则表达式:

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>

以上配置方式都还也写到.htaccess,使用.htaccess文件也会存在一些问题,比如性能。如果使用.htaccess文件,则Apache需要在每个目录中查找该文件,还必须在所有更高级的目录中查找它,另外,每次请求一个页面时,也都需要读取.htaccess文件。因此,允许使用.htaccess文件都会导致性能的下降。

例如,对/var/www/htdocs中页面的请求,Apache必须查找以下文件:

/.htaccess
/var/.htaccess
/var/www/.htaccess
/var/www/htdocs/.htaccess

总的来说,通过.htaccess来保护网站更为方便和灵活。

最后还可以用Apache的mod_rewrite模块等进行防盗链。


相关内容: 最新内容:
关于防盗链技术的应用[2014-11-07]
Asp.net防止盗链[2014-11-06]
再谈网站防止盗链一法[2014-11-06]
8种网站防止盗链的方法[2014-11-06]
盗链防护[2014-11-06]
网站盗链防护[2014-11-06]
web服务器托管如何防止CC攻击?[2014-11-07]
一招废掉电脑里的木马[2014-11-07]
抗DDOS攻击/抗CC攻击机房/美国芝加哥VIP机房[2014-11-07]
通过反射延伸的cc攻击特殊思路[2014-11-07]
防止黑客攻击入侵[2014-11-07]
企业网站如何防护CC攻击[2014-11-07]