• Linux9.11访问控制


    访问控制Directory

      需求案例:可以让公司内网可以访问到网站某文件夹。不需要其他模块支持,在站点的文件的语句外最前面设置。

    Order deny, allow
    deny from all
    allow from 127.0.0.1
    
    #1.看Order后面,deny 和allow哪个在前先执行哪个。
    #2.不管deny和allow哪个在前,所有语句都会执行。
    
    
    <Directory /data/wwwroot/www.123.com/admin/>
            Order deny,allow
            Deny from all
            Allow from 127.0.0.1
    </Directory>
    
    <Directory /data/wwwroot/www.123.com/>
            ... ...
    
    </Directory>
    
    #该案例,仅仅支持主机访问
    
    可以通过win浏览器访问,或者curl -x源IP    访问admin文件夹发现为403
    

    访问控制FilesMatch

      首先定义一个Directory,在该语句内设置FilesMatch,限制某些文件

    <Directory /data/wwwroot/www.123.com>
        <FilesMatch  "admin.php(.*)">
            Order deny,allow
            Deny from all
            Allow from 127.0.0.1
        </FilesMatch>
    </Directory>
    

    禁止PHP解析

      在可上传文件的目录下禁止解析PHP,为了避免上传的PHP文件有木马,所以禁止该目录下面的访问解析PHP。一般可写目录、静态文件存放的目录内是不允许存放PHP。

    <Directory /data/wwwroot/www.123.com/upload>
        php_admin_flag engine off    #本来加这一行就可以禁止upload下解析php
        <FilesMatch (.*).php(.*)>       #加上该模块是为了放置直接访问下载该文件夹下PHP源码
        Order allow,deny
        Deny from all
        </FilesMatch>
    </Directory>
    

    限制user_agent

      user_agent可以理解为浏览器标识。防止CC攻击,使大量肉机同时访问某站点,造成拥堵。CC攻击的规律为所有的user_agent都是一致的,且访问频率快,访问地址相同。

           使用rewrite模块

    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_USER_AGENT}  .*curl.* [NC,OR]
        RewriteCond %{HTTP_USER_AGENT}  .*baidu.com.* [NC]
        RewriteRule  .*  -  [F]
    </IfModule>
    
    
    NC不分大小写   OR或    不加OR为并且
    

      curl   -A  指定user_agent    -e源IP    -x指定host   -I仅仅查看状态码

  • 相关阅读:
    刷题-力扣-541. 反转字符串 II
    刷题-力扣-515. 在每个树行中找最大值
    刷题-力扣-513. 找树左下角的值
    刷题-力扣-404. 左叶子之和
    刷题-力扣-257. 二叉树的所有路径
    刷题-力扣-226. 翻转二叉树
    刷题-力扣-236. 二叉树的最近公共祖先
    刷题-力扣-235. 二叉搜索树的最近公共祖先
    刷题-力扣-145. 二叉树的后序遍历
    扛把子组2018092609-2 选题 Scrum立会报告+燃尽图 06
  • 原文地址:https://www.cnblogs.com/chyuanliu/p/8516068.html
Copyright © 2020-2023  润新知