訪問控制 – 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
- 訪問控制,除了目錄形式,仍是文件名去匹配(或連接)
- 打開虛擬主機配置文件
- 首先定義一個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>
- 檢查語法錯誤,並從新加載配置文件
[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]#
- 測試
這裏沒有對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能夠知足一些比較個性化的需求