11.27 訪問控制FilesMatch

訪問控制 – FilesMatch目錄概要

  • 核心配置文件內容
<Directory /data/wwwroot/www.123.com>         //功能做用目錄
    <FilesMatch  "admin.php(.*)">            //針對admin.php(.*)這個類型的文件,進行控制
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </FilesMatch>
</Directory>

訪問控制 – FilesMatch

  • 訪問控制,除了目錄形式,仍是文件名去匹配(或連接)
  1. 打開虛擬主機配置文件
    • 首先定義一個Directory,而後在下面在定義一個FilesMatch
[root@hf-01 111.com]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

 <Directory /data/wwwroot/111.com>
        <FilesMatch "admin.php(.*)">
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
        </FilesMatch>
    </Directory>
  1. 檢查語法錯誤,並從新加載配置文件
[root@hf-01 111.com]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@hf-01 111.com]# /usr/local/apache2.4/bin/apachectl graceful
[root@hf-01 111.com]#
  1. 測試
這裏沒有對admin目錄作任何限制,作的FilesMatch跟這個不匹配,沒有遇到控制語句,因此訪問是404
[root@hf-01 111.com]# curl -x192.168.202.150:80 111.com/admin/dsfsdfdsf -I
HTTP/1.1 404 Not Found
Date: Tue, 26 Dec 2017 13:48:45 GMT
Server: Apache/2.4.29 (Unix) PHP/7.1.6
Content-Type: text/html; charset=iso-8859-1

[root@hf-01 111.com]# 

有特殊符號須要用 」 單引號括起來
[root@hf-01 111.com]# curl -x192.168.202.150:80 '111.com/admin.php?dsfsdfdsf' -I
HTTP/1.1 403 Forbidden
Date: Tue, 26 Dec 2017 13:49:44 GMT
Server: Apache/2.4.29 (Unix) PHP/7.1.6
Content-Type: text/html; charset=iso-8859-1

[root@hf-01 111.com]# curl -x127.0.0.1:80 '111.com/admin.php?dsfsdfdsf' -I
HTTP/1.1 404 Not Found
Date: Tue, 26 Dec 2017 13:53:52 GMT
Server: Apache/2.4.29 (Unix) PHP/7.1.6
Content-Type: text/html; charset=iso-8859-1

[root@hf-01 111.com]#

總結

  • Directory和FilesMatch 功能是同樣的,只不過有時僅僅想針對一個訪問的連接去作控制,那麼再去控制目錄則不太合適,FilesMatch能夠知足一些比較個性化的需求
相關文章
相關標籤/搜索