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

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

解决方案
虚拟主机服务器上,如果有过多的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块,使每个虚拟主机有独立的防盗链机制

评分

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

时间: 2024-10-09 07:39:01

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

批处理 批量删除当前目录及子目录下多个指定的扩展名文件

批量删除当前目录及子目录下任意指定的扩展名文件 今编译DEV的语言文件,各种语言文件不需要,只保留中文的语言文件,写个批处理也方便以后使用 1 @echo off 2 set Path=%CD% 3 cd /d Path 4 del /f/s/q/a *.tlog 5 del /f/s/q/a *.cache 6 del /f/s/q/a *.txt 7 del /f/s/q/a *.pdb 8 del /f/s/q/a *.resources 9 del /f/s/q/a *.vspscc 1

删除空文件夹 清除CS扩展名文件 bat

删除空文件夹.删的干净.删的彻底. 将下列代码复制到txt中保存.并把后缀.txt命成.bat.然后运行即可. 方案1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 删除指定目录及其子目录下的空文件夹.bat 代码: @echo offecho.echo 说明此工具会删除指定目录所在空文件夹及其子目录下的空文件夹,以节省空间.echo.echo.echo 本例只限删除10层

NO21 Llinux的文件种类与扩展名--文件权限--硬链接

Linux的文件种类与扩展名 一.文件种类:1.普通文件(regular file)第一个字符为[ - ]包括:①纯文本档(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本档.是因为内容为我们人类可以直接读到的数据,例如数字.字母等等.②二进制文件(binary): 你的Linux中的可执行文件(scripts, 文字型批处理文件不算)就是这种格式的.③数据格式文件(data):有些程序在运作的过程当中会读取某些特定格式的档案,那些特定格式的档案可以被称为数据文件 (data f

批量删除本地指定扩展名文件工具

VC工具在编译时,会生成大量临时文件,占用很多空间,项目多了,手动删除就会很费力,所以我做了个小工具,可以批量删除指定目录,指定扩展名的文件. 此工具根据配置文件指定的扩展名删除文件,一般我删除VC的扩展名为:.ipch.pdb.pch.sdf.tlog.obj.idb.ilk.res.根据需要,自行配置. 下载地址:http://download.csdn.net/detail/yxstars/8201833 下面是一些vc扩展名的含义: .APS:存放二进制资源的中间文件,VC把当前资源文件

让Dw实行支持kid扩展名文件的方法

使用Dreamweaver的时候默认是不支持kid格式的文件的,在大量搜索和摸索后,现在终于成功.总结如下: 1.便Dreamweaver能识别*.kid文件,并当做html页面来处理,需要修改两个文件, (1)Extensions.txt------位于你的用户目录下,如 C:Documents and  SettingsAdministratorApplication DataMacromediaDreamweaver 8 (2)MMDocumentTypes.xml----位于程序安装目录

java中删除特定后缀名文件

String path = Environment.getExternalStorageDirectory() .getPath() + AppConstant.FILE_PATH + "/" + apkName ; File file = new File(path); deleteApk(path); /** * 删除其他版本安装包 */ public void deleteApk(String abpath) { String[] ss = abpath.split("

java利用SuffixFileFilter统计目录下特定后缀名文件的数目

/** * 文件处理类 * @author zhangcd * @date 2017年1月3日 */ public class FileUtil { /** * 得到所有后缀的数目 * * @param directory 目录 * @param suffixFilter 后缀 * @param pageCount 返回结果集限制 * @return list 集合 * @throws ArchiveException */ public static int getSuffixFilesNum

一些文件的扩展名

spec扩展名: https://www.solvusoft.com/zh-cn/file-extensions/file-extension-spec 文件格式: .spec 文件类型: RPM Specification File SPEC文件扩展名可以是指由被叫的rpmbuild程序中使用的文本文件.这个程序是用来建立RPM包. RPM代表Red Hat软件包管理.这些软件包用于安装Linux程序.该文件包含包名称,版权信息,版本,引用程序文件,总结,并说明创建和安装软件包. 在一些开源框

ASP.net的文件扩展名

尽管ASP.NET中采用的是事件响应模式,使程序开发人员和最终用户感觉与WinForm程序非常接近,但是它毕竟还是Web应用程序.而Web应用程序的特点,就是基于浏览器与服务器的请求与响应的执行方式.所以无论ASP.NET最终如何对用户体验进行封装,它都无法脱离最基本的B/S结构的程序运行原理,用户在Web页面做的任何类似WinForm程序一样需要服务器响应的操作最终都将以传统的Post方式提交到服务器,而服务器就根据页面状态信息处理并响应页面请求. 所以,虽然ASP.NET改变了传统的Web开