squid防盗链的设置

作者: 蓝鹰 分类: CentOS 发布时间: 2014-10-06 21:14 ė3 浏览数 6squid防盗链的设置已关闭评论

squid主要应用于图片的缓存,一个大型综合网站,会有很多外边的网站来外链我们的图片,造成图片的访问量很大,从而造成带宽的极大浪费。squid的防盗链功能很好地预防了这种情况的发生。配置如下:

acl allowdomain referer_regex -i "/etc/squid/domain.txt" .aaaa.com  .bbbb.com   //这里是不设置防盗链的域名,并且可以是一个域名列表文件(/etc/squid/domain.txt)
acl nullref referer_regex -i ^$
acl hasref referer_regex -i .+
http_access allow nullref
http_access allow allowdomain
http_access deny hasref
deny_info http://www.example.com/test.jpg hasref

以下内容来源网上:
见下面的内容。我设置的例子是在squid上对mp3和wma进行控制防盗链.其实原理很容易啦,主要是对referer进行控制,更加高级的大家可以研究一下用cookie来进行控制。有空我也写个出来.

acl wmvurl url_regex -i \.mp3$   \.wma$ \.exe$
#要控制的后缀,i不区分大小写,$以后缀名结尾

acl phpoaref referer_regex -i ^http://.*\.php-oa\.com
#可以链接的网站,^url开始   .*任意字符串的通配符 \.将元字符转意为普通的.号,这个正则表达式的意思是以http://开头,2级域名不管是什么bbk.php-oa.com或者xxx.php-oa.com全部匹配。

acl legalplayer browser -i Firefox   ^NSPlayer ^contype$ ^rma ^windows-media-player ^foobar2000 ^RealMedia   ^RealPlayer
#要在线直播的软件 ^开始,$结尾
http_access allow legalplayer wmvurl
http_access allow phpoaref wmvurl

#先让上面这些条件都可以的,让他们可以通过 

http_access deny !phpoaref wmvurl
http_access deny !legalplayer wmvurl

#先accept后deny.

deny_info http://xxxx/error.jpg   phpoaref

 


#deny时出错时,给显示的出错的图.

本文出自 蓝鹰博客,转载时请注明出处及相应链接。

本文永久链接: http://www.lanyingblog.com/blog/2102.html

Ɣ回顶部