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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-3-6 10周5次课 配置防盗链访问控制DirectoryFilesMatch相关的知识,希望对你有一定的参考价值。

11.25 配置防盗链


·通过限制referer来实现防盗链的功能

带宽会异常升高,有可能是被倒链


配置如下内容:

技术分享图片



Order Allow,Deny ##顺序,先把白名单允许,把其他deny掉

Allow from env=local_ref

注意:“Allow,Deny”中间只有一个逗号,也只能有一个逗号,有空格都会出错;单词的大小写不限。上面设定的含义是先设定“先检查允许设定,没有允许的全部禁止”,而第二句允许变量 local_ref 的 referer。


<Directory /data/wwwroot/111.com>             定义防盗链的目录

SetEnvIfNoCase Referer                  白名单

<filesmatch> 匹配规则

<FilesMatch "\.(txt|doc|mp3|zip|rar|jpg|gif|png)">            针对这些文件做防盗链


[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl graceful

无法访问111.com/gakki.jpg,这个是空referer

技术分享图片


如何让referer不为空,在论坛中创建新帖,附上链接

技术分享图片


打开超链接,结果依然是无法访问。

因为,之前配置文件中白名单没有给到该论坛的地址,因此无法通过

技术分享图片


把该位置改为该论坛的地址

技术分享图片

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


重新加载配置之后,

技术分享图片


直接依然查看不了,但是通过论坛中地超链接就可以查看

技术分享图片

技术分享图片

技术分享图片

直接访问图片地址是空referer,而通过链接访问图片,那么referer是该链接所在论坛地址


·模拟referer

curl -e   (referer必须http开头)

[[email protected] ~]# curl -e "http://111.com/123.txt" -x127.0.0.1:80 111.com/gakki.jpg -I

技术分享图片技术分享图片


扩展:

Referer:https://baike.baidu.com/item/HTTP_REFERER/5358396?fr=aladdin

               https://www.cnblogs.com/bonelee/p/7875163.html 





11.26 访问控制Directory


·用户认证可以在一定程度起到安全作用,有时想要让安全更加严格一些

为了防止访问冲突产生,把访问控制放到上方,那么上方为访问控制,下方位防盗链

技术分享图片



Order deny,allow 顺序,先deny,后allow

Deny from all 控制语句

Allow from 127.0.0.1 控制语句    控制对象:来源ip

先deny,后allow,那么只有127.0.0.1不受限制;先allow,后deny,那么就是deny



创建admin目录,目录下有index.php,内容是121212

[[email protected] ~]# mkdir /data/wwwroot/111.com/admin/
[[email protected] ~]# cd !$
cd /data/wwwroot/111.com/admin/
[[email protected] admin]# vim index.php
[[email protected] admin]# cat !$
cat index.php
121212
[[email protected] admin]# curl -x127.0.0.1:80 111.com/admin/index.php -I
HTTP/1.1 200 OK
Date: Sun, 04 Mar 2018 13:15:30 GMT
Server: Apache/2.4.29 (Unix) PHP/7.1.6
X-Powered-By: PHP/7.1.6
Content-Type: text/html; charset=UTF-8
[[email protected] admin]# curl -x127.0.0.1:80 111.com/admin/index.php
121212

(curl -x是访问目标ip,而配置中也是同一个ip,这是本机和本机通讯)


[[email protected] admin]# curl -x192.168.65.128:80 111.com/admin/index.php -I
HTTP/1.1 403 Forbidden
Date: Sun, 04 Mar 2018 13:18:19 GMT
Server: Apache/2.4.29 (Unix) PHP/7.1.6
Content-Type: text/html; charset=iso-8859-1

(如果把Allow from 后改为192.168.65.128,那么该ip将会被允许访问)





11.27 访问控制FilesMatch


·访问控制出了目录之外也可以去匹配文件名


编辑配置文件:

技术分享图片

(这是对一个访问链接做控制,那么控制目录就不太合适)


ip没有通过,403,禁止访问

技术分享图片

更换ip,404,允许访问

技术分享图片





以上是关于2018-3-6 10周5次课 配置防盗链访问控制DirectoryFilesMatch的主要内容,如果未能解决你的问题,请参考以下文章

2018-3-6 11周1次课

2018-3-1512周4次课 Nginx防盗链访问控制配置PHP解析代理

48次课(Nginx防盗链Nginx访问控制Nginx解析php相关配置Nginx代理)

2018.3.7 11周2次课

2018-3-6 Linux学习笔记

Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理