LAMP架构(配置防盗链、访问控制Directory、访问控制FilesMatch)

配置防盗链

经过限制referer来实现防盗链的功能php

  • 编辑虚拟机文件

在/usr/local/apache2.4/conf/extra/httpd-vhosts.conf中添加以下配置代码:apache

<Directory /data/wwwroot/www.123.com>
        SetEnvIfNoCase Referer "http://111.com" local_ref //白名单
        SetEnvIfNoCase Referer "http://aaa.com" local_ref //白名单
        SetEnvIfNoCase Referer "^$" local_ref //空的referer
        <FilesMatch "\.(txt|doc|mp3|zip|rar|jpg|gif)"> //文件匹配格式
            Order Allow,Deny       //不经过规则
            Allow from env=local_ref // 经过规则
        </FilesMatch>
</Directory>

  • 保存并从新加载
/usr/local/apache2.4/bin/apachectl  graceful
  • curl测试
curl  -x127.0.0.1:80 111.com/111.jpg -I

模拟referer测试:vim

curl -e "http://www.qq.com/123.txt"  -x127.0.0.1:80 111.com/111.jpg -I

referer模拟成111.com测试成功访问安全

curl -e "http://111.com/111.jpg"  -x127.0.0.1:80 111.com/111.jpg -I

访问控制之Directory

例如访问日志目录等隐私目录避免外部访问,访问控制下更安全curl

  • 编辑虚拟机配置文件
vim  /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
  • 添加以下关键性代码
<Directory /data/wwwroot/111.com/admin/>
        Order allow,deny //排序表示先执行deny仍是先执行allow.
        Deny from all //拒绝选项
        Allow from 127.0.0.1 //容许来源
</Directory>

注意:Order表示排序,决定是先执行下行 deny①仍是先allow②,allow表示容许的来源ip测试

  • 保存并从新加载
/usr/local/apache2.4/bin/apachectl  graceful
  • 在/data/wwwroot/111.com/ 目录下建立/admin/目录
[root@yolks2 ~]# cd /data/wwwroot/111.com/
[root@yolks2 111.com]# ls
111.jpg  admin.php  index.php
[root@yolks2 111.com]# mkdir admin
[root@yolks2 111.com]# ls
111.jpg  admin  admin.php  index.php
[root@yolks2 111.com]# vim admin/index.php
[root@yolks2 111.com]# cat !$
cat admin/index.php
<?php
echo "this is test admin/index.php";
?>
  • 测试
curl -x127.0.0.1:80  111.com/admin/index.php  -I

访问控制之FilesMatch

例如访问日志文件等隐私文件避免外部访问,访问控制下更安全this

  • 编辑主配置文件
vim  /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
  • 添加以下关键性代码
<Directory /data/wwwroot/www.123.com>
    <FilesMatch  "admin.php(.*)">
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </FilesMatch>
</Directory>
  • 测试
curl -x127.0.0.1:80  111.com/admin/index.php  -I

拓展

几种限制ip的方法 http://ask.apelearn.com/question/6519
apache 自定义header http://ask.apelearn.com/question/830
apache的keepalive和keepalivetimeout http://ask.apelearn.com/question/556url

相关文章
相关标签/搜索