訪問控制

訪問控制 – Directory(目錄)

核心配置文件內容:vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
  <Directory /data/wwwroot/111.com/admin/>
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Directory>

訪問控制
order用來定義順序,如果先deny先執行deny的語句,如果先allow先執行allow的語句。從頭走到尾,最後的生效。

訪問控制

訪問控制
127.0.0.1的沒問題,其他IP不行
curl測試狀態碼爲403則被限制訪問了


訪問控制 – FilesMatch(匹配文件名或訪問的鏈接)

1、核心配置文件內容

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

訪問控制

2、結果
curl -x127.0.0.1:80 'http://111.com/admin.php?sdef' -I
訪問控制
404:允許訪問,但是不存在


訪問控制 – 禁止php解析

1、前提準備:
訪問控制
2、核心配置文件內容

    <Directory /data/wwwroot/111.com/upload>
        php_admin_flag engine off
    </Directory>

訪問控制

訪問控制
若不加下面的filesmatch就會獲取到PHP文件的源代碼
3、結果:
curl測試時直接返回了php源代碼,並未解析
訪問控制

加filesmatch結果:
訪問控制

訪問控制 – user_agent
限制user_agent(cc***用到)

user_agent可以理解爲瀏覽器標識
1、核心配置文件內容

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

訪問控制
rewriterule後面的F是forbidden的意思
2、結果
訪問控制

curl -A "123123" (自定義)指定user_agent
訪問控制

curl -A 指定user_agent
curl -e 指定referer,必須"http://"開頭

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章