//针对admin.php(.*)这个类型的文件,进行控制 Order deny,allow De">

11.27 访问控制FilesMatch

  • 来源:
  • 更新日期:2018-05-10

摘要:访问控制 – FilesMatch目录概要 核心配置文件内容 //功能作用目录 //针对admin.php(.*)这个类型的文件,进行控制 Order deny,allow De

访问控制 – FilesMatch目录概要 核心配置文件内容

002UASMrzy7605pjKJv15&690.jpg

<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可以满足一些比较个性化的需求