LAMP配置防盗链 访问控制Directory FilesMatch 禁止php解析 PHP相关配置 PHP扩展模块安装

1、配置防盗链

防止有人利用网站文件上传的功能,把一些静态媒体资源放到我们的网站上,然后在他们的网站上设置这些资源的链接到我们的网站上,当他们网站用户访问这些资源时,就会跳转到我们的服务器上,导致我们的服务器带宽流量异常增大。为了防止这种情况发生,我们利用apache服务器访问控制实现防盗链功能

  • 打开虚拟主机配置文件
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
  • 需要添加的配置文件
<Directory /data/wwwroot/111.com>  //用于定义作用于哪个目录,配置防盗链,就是定义本站点
SetEnvIfNoCase Referer "http://www.111.com" local_ref   //指定referer白名单
SetEnvIfNoCase Referer "http://111.com" local_ref   //指定referer白名单
SetEnvIfNoCase Referer "^$" local_ref   //空的referer也能访问
<FilesMatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">   //使用文件匹配访问控制,这里的filesmatch中f 和 m 可以大写可以小写
Order Allow,Deny    //访问控制顺序,先允许后拒绝。
Allow from env=local_ref   //只有符合白名单上的referer才能访问111.com目录。
</FilesMatch>
</Directory>
  • 更改后的配置文件,并将空的Referer页面为白名单 注释掉:改为# SetEnvIfNoCase Referer "^$" local_ref

  • 检查配置文件是否有语法错误,并重新加载配置文件

[root@aminglinux ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@aminglinux ~]# /usr/local/apache2.4/bin/apachectl graceful
  • curl测试
  • curl -e 格式:curl -e "http://"

curl -e "http://www.aminglinux.com/123.html" 自定义referer

2、访问控制Directory

公司的内部网站可以设置访问控制,指定来源IP才能够访问

  • 核心配置文件内容
<Directory /data/wwwroot/111.com/admin/>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Directory>
  • 打开虚拟主机配置文件
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
  • Order,用来定义顺序,是先deny,还是allow
  • 若是先deny,就先执行deny的语句
  • 若是先allow,就先执行allow的语句

特殊性:

  • 不管IP是否匹配到,它都会从头到尾执行完
将代码放在防盗链代码上面,防止冲突
<Directory /data/wwwroot/111.com>   // 指定需要访问控制的网站的目录
Order deny,allow   //访问控制的顺序,先所有都拒绝,然后再允许指定的ip。和iptables不同,可以全部规则都执行下去。
Deny from all   // 拒绝所有的来源ip
Allow from 127.0.0.1 //指定允许访问的来源ip(指定网段也可以192.168.0.0/24)
</Directory>
  • 创建一个admin目录,并新建一个index.php文件,内容为121212
[root@aminglinux 111.com]# mkdir admin
[root@aminglinux 111.com]# cd admin/
[root@aminglinux admin]# touch index.php
[root@aminglinux admin]# echo "121212">index.php
[root@aminglinux admin]# cat index.php
121212
  • 检查配置文件是否有语法错误,并重新加载配置文件
[root@aminglinux ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@aminglinux ~]# /usr/local/apache2.4/bin/apachectl graceful

限制的原 IP:curl -x127.0.0.1:80 111.com/admin/index.php -I

  • 127.0.0.1是目标 IP ,而要访问的IP,也要使用127.0.0.1去访问,最终就是目标IP和原IP是同一个IP,自己和自己通信,限制IP是 原 IP
  • -x指定的是目标IP
[root@aminglinux admin]# curl -x127.0.0.1:80 111.com/admin/index.php -I
HTTP/1.1 200 OK
Date: Sat, 30 Jun 2018 03:30:13 GMT
Server: Apache/2.4.29 (Unix) PHP/5.6.30
X-Powered-By: PHP/5.6.30
Cache-Control: max-age=0
Expires: Sat, 30 Jun 2018 03:30:13 GMT
Content-Type: text/html; charset=UTF-8
  • curl测试状态码为403则被限制访问了;

更改IP测试:

[root@aminglinux admin]# curl -x192.168.222.110:80 111.com/admin/index.php -I
HTTP/1.1 403 Forbidden
Date: Sat, 30 Jun 2018 03:34:11 GMT
Server: Apache/2.4.29 (Unix) PHP/5.6.30
Content-Type: text/html; charset=iso-8859-1
  • 访问控制是用目录的形式来做的,首先规定一个目录访问到哪里去的(目录必须使用绝对路径),然后是Oerder,控制的对象就是来源IP

3、访问控制 FilesMatch

访问控制,除了目录形式,还是文件名去匹配(或链接)

核心配置文件内容

<Directory /data/wwwroot/www.123.com>
    <FilesMatch "admin.php(.*)">
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </FilesMatch>
</Directory>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值