配置防盗链、访问控制Directory、访问控制FilesMatch

配置防盗链

我的网站遇到最多的是两类盗链,一是图片盗链,二是文件盗链。曾经有一个访问量极大的网站盗链我网站的图片,一天竟然消耗了数G的流量。同时,我站放的不少几十兆的大型软件也常遭到文件盗链,大量消耗我站资源。

1、新增内容

[[email protected] local]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>

DocumentRoot "/data/wwwroot/111.com"

ServerName 111.com

ServerAlias www.111.com www.example.com

<Directory /data/wwwroot/111.com>

        SetEnvIfNoCase Referer "http://111.com" local_ref

        SetEnvIfNoCase Referer "http://ask.apelearn.com" local_ref

        SetEnvIfNoCase Referer "^$" local_ref

        #定义referer白名单

        <FilesMatch "\.(txt|doc|mp3|zip|rar|jpg|gif|png)">

            Order Allow,Deny

            Allow from env=local_ref

        #定义规则:允许变量local_ref指定的referer访问,拒绝其他所有访问。

        </FilesMatch>

    </Directory>

2、[[email protected] local]# /usr/local/apache2.4/bin/apachectl graceful

3、-e :表示指定referer,现在http://ask.apelearn.com/已经在白名单,所以是允许的

[[email protected] local]# curl -e "http://ask.apelearn.com/" -x127.0.0.1:80 111.com/3.png -I

HTTP/1.1 200 OK

Date: Thu, 09 Nov 2017 12:45:00 GMT

Server: Apache/2.4.29 (Unix) PHP/5.6.30

Last-Modified: Thu, 09 Nov 2017 12:45:00 GMT

ETag: W/"a102-55d97420ac440"

Accept-Ranges: bytes

Content-Length: 41218

Cache-Control: max-age=86400

Expires: Fri, 10 Nov 2017 12:45:00 GMT

Content-Type: image/png

4、不在白名单中就403

[[email protected] local]# curl -e "http://1323.com/" -x127.0.0.1:80 111.com/3.png -I

HTTP/1.1 403 Forbidden

Date: Thu, 09 Nov 2017 12:49:29 GMT

Server: Apache/2.4.29 (Unix) PHP/5.6.30

Content-Type: text/html; charset=iso-8859-1

访问控制Directory

1、[[email protected] local]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>

DocumentRoot "/data/wwwroot/111.com"

ServerName 111.com

ServerAlias www.111.com www.example.com

 <Directory /data/wwwroot/111.com/admin/>

        Order deny,allow

        Deny from all

        Allow from 127.0.0.1

#只允许IP--127.0.0.1访问“/data/wwwroot/111.com/admin/”目录中的内容

#先拒绝所有的,在允许allow的,先后顺序

    </Directory>

2、mkdir /data/wwwroot/111.com/admin/ && vi admin.html

3、[[email protected] local]# /usr/local/apache2.4/bin/apachectl graceful

验证:

[[email protected] local]# curl -x127.0.0.1:80 111.com/admin/admin.html

this is admin.html

[[email protected] local]# curl -x192.168.3.74:80 111.com/admin/admin.html -I

HTTP/1.1 403 Forbidden

Date: Thu, 09 Nov 2017 12:53:39 GMT

Server: Apache/2.4.29 (Unix) PHP/5.6.30

Content-Type: text/html; charset=iso-8859-1

访问控制FilesMatch

1、[[email protected] local]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>

DocumentRoot "/data/wwwroot/111.com"

ServerName 111.com

ServerAlias www.111.com www.example.com

<Directory /data/wwwroot/111.com>

<FilesMatch admin.html(.*)>

Order deny,allow

Deny from all

Allow from 127.0.0.1

</FilesMatch>

</Directory>

2、[[email protected] local]# /usr/local/apache2.4/bin/apachectl graceful

3、[[email protected] local]# curl -x127.0.0.1:80 111.com/admin.html

this file admin.html

扩展:

1.  禁止访问某些文件/目录

增加Files选项来控制,比如要不允许访问 .inc 扩展名的文件,保护php类库:

<Files~"\.inc$">

Order Allow,Deny

Deny from all

</Files>

2. 禁止访问某些指定的目录:(可以用  来进行正则匹配)

<Directory~"^/var/www/(.+/)*[0-9]{3}">

Order Allow,Deny

Deny from all

</Directory>

3. 通过文件匹配来进行禁止,比如禁止所有针对图片的访问:

<FilesMatch \.?i:gif|jpe?g|png)$>

Order Allow,Deny

Deny from all

<FilesMatch>

4. 针对URL相对路径的禁止访问

<Location /dir/>

Order Allow,Deny

Deny from all

</Location>

时间: 2024-11-09 04:37:38

配置防盗链、访问控制Directory、访问控制FilesMatch的相关文章

11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMat

11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMatch 11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMatch 原文地址:http://blog.51cto.com/wbyyy/2083777

11.25 配置防盗链11.26 访问控制Directory11.27 访问控制FilesMatch

11.25 配置防盗链vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf检查与加载配置文件测试在浏览打开图片站点提示错误这时候在第三方站点(ask.apelearn.com)发布超链接,将第三方站点加入白名单就可以访问了点击超链接就可以打开网站图片了再模拟成111.com就状态码变成200注意referer不能随便写一定要写成http://11.26 访问控制Directory这种访问控制是用目录来做的vim /usr/local/apac

2018-3-6 10周5次课 配置防盗链、访问控制Directory、FilesMatch

11.25 配置防盗链 ·通过限制referer来实现防盗链的功能 带宽会异常升高,有可能是被倒链 配置如下内容: Order Allow,Deny ##顺序,先把白名单允许,把其他deny掉 Allow from env=local_ref (注意:"Allow,Deny"中间只有一个逗号,也只能有一个逗号,有空格都会出错:单词的大小写不限.上面设定的含义是先设定"先检查允许设定,没有允许的全部禁止",而第二句允许变量 local_ref 的 referer. &

配置防盗链、访问控制Directory针对目录、访问控制FilesMatch针对链接

配置防盗链 访问控制Directory针对目录 访问控制针对目录FilesMatch针对连接 原文地址:http://blog.51cto.com/13515599/2083516

配置防盗链,访问控制Directory,FilesMatch

配置防盗链 1.修改虚拟主机配置文件: [[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf <Directory /data/wwwroot/111.com> SetEnvIfNoCase Referer "http://111.com" local_ref SetEnvIfNoCase Referer "http://aaa.com" local_re

LAMP(6)静态元素过期时间、配置防盗链、访问控制Directory、访问控制FilesMatch

                              静态元素过期时间 静态元素:(图片.js.css) 平时我们在浏览器访问网站的时候,如果里面有这些静态元素,浏览器会帮我们把它们缓存下来,再次访问的时候访问的速度就会快. 缓存下来的静态元素到底缓存多久?这个是可以在服务器配置文件中定义的.(定义静态元素过期时间) 304 状态码表示该文件已经缓存到用户电脑. 定义静态元素的失效日期: 步骤:(针对111.com这台虚拟主机操作) 1.编辑配置文件,添加配置内容; 增加配置 <IfMod

配置防盗链、访问控制Directory、FilesMatch

配置防盗链 首先来了解一下什么是盗链,全称是盗取链接,假如我们的网站有很多好看的图片,别人可以查看我们网站图片的链接,然后应用在他的网站上,这样的话,去访问他的网站,实际上消耗的是我们的流量(因为实际链接在我们这里),这样我们就不得不去配置防盗链,使得别人不能复制我们图片的链接. 防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件.换句话说,通过referer,网站可以检测目标网页访问的来源网页,如果是

配置防盗链、访问控制– Directory及访问控制 – FilesMatch

一.配置防盗链 配置文件增加如下内容<Directory /data/wwwroot/11.com>SetEnvIfNoCase Referer "http://www.11.com" local_refSetEnvIfNoCase Referer "http://11.com" local_refSetEnvIfNoCase Referer "^$" local_ref<filesmatch ".(txt|doc|m

apache配置防盗链、访问控制directory、访问控制FilesMatch

一:配置防盗链 打开虚拟主机配置文件#vim /usr/local/apache2/conf/extra/httpd-vhosts.conf添加以下内容SetEnvIfNoCase Referer "^http://.*\.abc\.com" local_ref SetEnvIfNoCase Referer ".*.aminglinux.com" local_ref SetEnvIfNoCase Referer "^$" local_ref #没