WEB开发网:问题 如何拒绝对某特定扩展名文件的下载,如何防盗链 解决方案 虚拟主机服务器上,如果有过多的mp3等文件,可能会被搜索引擎查到 并且导致巨额的下载量。 这种情况下,对服务器的负担有很大的影响 那么如和
赞助商链接
中资源
>> 最新文章
>> 赞助商
>> 热门文章
WEB开发网文章阅读

如何拒绝对某特定扩展名文件的下载,如何防盗链

作者:未知 文章来源:WEB开发者 更新时间:2008-1-7 14:10:31
问题 
如何拒绝对某特定扩展名文件的下载,如何防盗链  

解决方案 
虚拟主机服务器上,如果有过多的mp3等文件,可能会被搜索引擎查到
并且导致巨额的下载量。
这种情况下,对服务器的负担有很大的影响
那么如和禁止某种特殊文件的下载呢?

编辑/usr/Prima(最完善的虚拟主机管理系统)/etc/httpd/site.conf
在其中加入如下一段:
<FilesMatch "\.(mp3|avi)"> 
Order Deny,Allow
Deny from all
</FilesMatch>
重新启动/etc/init.d/httpd restart
即可拒绝服务器上所有站点目录下的扩展名为mp3和avi的下载
如果要增加扩展名,用竖线隔开即可。

上述方法,将无条件拒绝所有站点的下载和所有来源的连接
那么,用户自己的站点中存在的mp3就无法下载了。
如何能防止别的站点盗链,而自己站点也能下载呢?
假设自己的站点是www.abcd.com,将上边的配置文件中添加的配置修改为如下:

SetEnvIfNoCase Referer "^http://www\.abcd\.com" local_ref=1
<FilesMatch "\.(mp3|jpg|gif)"> 
Order Allow,Deny
Allow from env=local_ref
Allow from 127.0.0.1
</FilesMatch>

重新启动apache(Unix平台最流行的WEB服务器平台)后,即可防止其他站点盗链,而自己的站点还可以继续访问。

上述指令不仅作用于全局,同样可以作用于每一个虚拟主机VirtualHost块,使每个虚拟主机有独立的防盗链机制 
 

百度搜索中共有相关主题
[阅读:次] [返回上一页] [打 印]
  • 相关文章
  • 本类热门