访问控制 – Directory(目录)

核心配置文件内容:vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
  
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    

访问控制_第1张图片
order用来定义顺序,如果先deny先执行deny的语句,如果先allow先执行allow的语句。从头走到尾,最后的生效。

访问控制_第2张图片

访问控制_第3张图片
127.0.0.1的没问题,其他IP不行
curl测试状态码为403则被限制访问了


访问控制 – FilesMatch(匹配文件名或访问的链接)

1、核心配置文件内容


    
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    

访问控制_第4张图片

2、结果
curl -x127.0.0.1:80 'http://111.com/admin.php?sdef' -I
访问控制_第5张图片
404:允许访问,但是不存在


访问控制 – 禁止php解析

1、前提准备:
访问控制_第6张图片
2、核心配置文件内容

    
        php_admin_flag engine off
    

访问控制_第7张图片

访问控制_第8张图片
若不加下面的filesmatch就会获取到PHP文件的源代码
3、结果:
curl测试时直接返回了php源代码,并未解析
访问控制

加filesmatch结果:
访问控制_第9张图片

访问控制 – user_agent
限制user_agent(cc***用到)

user_agent可以理解为浏览器标识
1、核心配置文件内容

   
        RewriteEngine on
        RewriteCond %{HTTP_USER_AGENT}  .*curl.* [NC,OR]     //NC是忽略大小写,OR是或者
        RewriteCond %{HTTP_USER_AGENT}  .*baidu.com.* [NC]
        RewriteRule  .*  -  [F]
    

访问控制_第10张图片
rewriterule后面的F是forbidden的意思
2、结果
访问控制_第11张图片

curl -A "123123" (自定义)指定user_agent
访问控制_第12张图片

curl -A 指定user_agent
curl -e 指定referer,必须"http://"开头