码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-01-12 21:54:50      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:star   usr   条件   扩展   pac   rtu   虚拟   搜索   防止   

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

解决方案
虚拟主机服务器上,如果有过多的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后,即可防止其他站点盗链,而自己的站点还可以继续访问。

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

评分

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

标签:star   usr   条件   扩展   pac   rtu   虚拟   搜索   防止   

原文地址:https://www.cnblogs.com/sfqas/p/12181817.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!