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 /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,允许访问

原文地址:http://blog.51cto.com/11530642/2083228

时间: 2024-11-07 23:38:26

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

2018.3.1 10周2次课

十周第二次课(3月1日) 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机 11.14/11.15 Apache和PHP结合 配置httpd支持php httpd主配置文件/usr/local/apache2.4/conf/httpd.conf vim /usr/local/apache2.4/conf/httpd.conf   //修改以下4个地方 ServerName 搜索ServerName,把#ServerName www.example

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

12.13 Nginx防盗链 [[email protected] test.com]# vim /usr/local/nginx/conf/vhost/test.com.conf ~* 表示不区分大小写 白名单 *.test.com,如果不是白名单,则返回403 [[email protected] test.com]# curl -e "http://www.baidu.com"-x127.0.0.1:80 test.com/1.gif -I HTTP/1.1 403 Forbid

2018.2.28 10周1次课

十周第一次课(2月28日) 11.10/11.11/11.12 安装PHP5 11.13 安装PHP7 11.10/11.11/11.12 安装PHP5 关于PHP版本,目前大多企业都会使用5.4及更高版本,甚至越来越多的企业使用PHP7版本.7和5两个版本还是有很大差异的,据说7版本有很大的性能提升,但7版本还是太新了,很多企业的网站不一定能兼容.新事物取代旧事物是必然趋势,所以在后续的学习和工作中,建议你要与时俱进,敢于尝试.在本实验中,使用的PHP版本为5.6,PHP的官方下载地址为 :

2018.3.5 10周4次课

十周四次课(3月5日) 11.22 访问日志不记录静态文件 11.23 访问日志切割 11.24 静态元素过期时间 11.22 访问日志不记录静态文件 一个网站会有很多元素,尤其是图片.js.css等静态的文件非常多,用户每请求一个页面就会访问诸多的图片.js等静态元素,这些元素的请求都会被记录在日志中.如果一个站点访问量很大,那么访问日志文件增长会非常快,一天就可以达几GB这不仅对于服务器的磁盘空间造成影响,更重要的是会影响磁盘的读写速度.访问日志很重要,我们又不能不记录.还好这些巨量的静态元

2018.3.6 11周1次课

十一周一次课(3月6日) 11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMatch 11.25 配置防盗链 通过限制referer来实现防盗链的功 防盗链,通俗讲,就是不让别人盗用你网站上的资源.这个资源,通常指的是图片.视频.歌曲.文档等.referer是指:你通过A网站的一个页面http://a.com/a.html里面的链接去访问B网站的的一个页面http://b.com/b.html,那么这个B网站页面的referer就是http://a.

2018.4.23 17周4次课

十七周4次课(4月23日) 20.20 告警系统主脚本 20.21 告警系统配置文件 20.22 告警系统监控项目 20.20 告警系统主脚本 创建告警系统的目录: [[email protected] /usr/local/sbin]# mkdir mon [[email protected] /usr/local/sbin]# ls mon  nginx_log_rotate.sh [[email protected] /usr/local/sbin]# cd mon [[email pro

2018.1.9 5周2次课

五周第二次课(1月9日) 7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装 7.6 yum更换国内源 1.恢复之前备份的文件 2. 进入"/etc/yum.repos.d"目录 3.删除"CentOS-Base.repo"文件 4.下载"163.repo"文件 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo curl -O http://mirrors

2018.1.16 6周2次课

六周第二次课(1月16日) 9.4/9.5 sed 9.4/9.5 sed 其实grep工具的功能还不够强大,它实现的只是查找功能,而不能把查找的内容替换.以前用vim操作文档的时候,可以查找也可以替换, 但只限于在文本内部操作,而不能输出到屏幕上.sed工具以及后面要介绍的awk工具就能把替换的文本输出到屏幕上,而且还有其他更丰富的功能.sed和awk都是流式编辑器,是针对文档的行来操作的. sed  '/x/'p filename:匹配x字符 sed  -n  '/x/'p  filenam

2018.3.7 11周2次课

十一周二次课(3月7日) 11.28 限定某个目录禁止解析php 11.29 限制user_agent 11.30/11.31 php相关配置 11.28 限定某个目录禁止解析php 对于使用PHP语言编写的网站,有一些目录是有需求上传文件的,比如在前面列举的那个防盗链案例,因为服务器可以上传图片,并且没有做防盗链,所以被人家当成了一个图片存储服务器,并且盗用带宽流量.如果网站代码有漏洞,让黑客上传了一个用PHP代码写的木马,由于网站可以执行PHP程序,最终会让黑客拿到服务器权限.为了避免这种情