您的位置:首页 > 运维架构 > Apache

Apache配置——禁止解析php

2017-01-01 18:48 288 查看
比如说我们的网站目录/data/www下的data,由于apache的属主是daemon,而有时候我们需要写进一些东西放入/data/www下的data里,所以/data/www下的data就得赋予写权限,也就意味着这个data可以用daemon这个用户去写,如果你这个网站有漏洞的话,那被某一个人上传了一个木马文件,它如果被执行怎么办?它这个文件就是一个木马,结果不小心它一点执行了,执行完后发现你的服务器已经被入侵了,可以获得一些权限。那这个时候我们就应该做一些限制,要不你就不允许上传;要不就是即使它上传后我不做任何的操作;这两种情况,而第一种情况,你是不可以做的,因为你一旦限制了,任何的用户都不能正常地上传,这肯定是不合适的,那我们只能用第二种方法,去限制它进行解析,即使上传了一个木马文件,但是它不能正常地去解析,那么也就意味着我们没有危险。怎么去限制呢?

那我们现在可以针对/data/www下的data目录做了一个限制,禁止解析
正常情况下,在/data/www/data/下创建一个info.php文件是可以正常访问的(做这个实验之前先把访问控制注释掉或者有冲突的)

## 进入data目录下并创建一个php的文件
[root@wy ~]# cd /data/www/data
[root@wy data]# vim info.php
<?php
phpinfo();
?>
## 访问刚刚创建的文件,是可以解析到的



## 但如果我们不想让解析data下的php文件
<Directory /data/www/data>
php_admin_flag engine off
<filesmatch "(.*)php">
Order deny,allow
Deny from all
</filesmatch>
</Directory>
解释说明:
如果只把php的解析引擎关掉,虽不解析但会下载该文件或访问到源码,这样很不安全,所以需要做进一步限制访问操作。
<Directory /data/www/data> 针对此目录
php_admin_flag engine off 把php的解析引擎关掉,禁止解析
<filesmatch "(.*)php"> 限制访问



## 检查并重新加载
[root@wy ~]# /usr/local/apache2/bin/apachectl -t
Syntax OK
[root@wy ~]# /usr/local/apache2/bin/apachectl graceful
## 再去访问就访问不到了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  禁止解析php