十四、Apache配置访问控制
访问控制介绍
可以实现针对某些目录进行访问控制,禁止一些IP地址的访问
针对目录访问控制
1、编辑主配置文件
$ vim /usr/local/apache2/conf/httpd.conf
478 Include conf/extra/httpd-vhosts.conf #去掉该行注释启用配置文件
2、编辑虚拟主机配置文件
$ vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/www/tz"
ServerName www.tz.com
<Directory "/www/tz">
Order deny,allow #访问规则,先拒绝后允许,即只拒绝10.154.0.0网段用户访问
deny from 10.154.0.0/24
</Directory>
</VirtualHost>
$ apachectl -t && apachectl graceful
针对URI作访问控制
禁止指定用户访问网站后台
以下为虚拟主机配置文件
$ vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/www/tz"
ServerName www.tz.com
<filesmatch "(.*)admin(.*)">
Order allow,deny #先允许后拒绝,即只允许10.154.0.0网段访问后台其他都不允许
allow from 10.154.0.0/24
</filesmatch>
</VirtualHost>
$ apachectl -t && apachectl graceful
禁止相关目录解析php
比如某些目录上传文件,避免上传的有木马,可以针对某些路径禁止解析php
以下为虚拟主机配置文件
$ vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/www/tz"
ServerName www.tz.com
<Directory /www/tz/updata> # 对updata目录进行php解析限制
php_admin_flag engine off # 将php解析引擎关闭
<filesmatch "(.*)php">
#若不加filesmatch,只是将engine off,在浏览器访问该文件时,会将php文件下载下来
Order deny,allow
Deny from all
#禁止解析所有,
</filesmatch>
</Directory
</VirtualHost>
参考资料:
B站:千锋教育云计算650集-P147
今天的学习是为了以后的工作更加的轻松!

浙公网安备 33010602011771号