Apache 运行的用户是 daemon
[[email protected] ~]# ls /data/www
abc api.php connect.php data group.php install plugin.php search.php template userapp.php
admin.php archiver cp.php favicon.ico home.php member.php portal.php source uc_client
api config crossdomain.xml forum.php index.php misc.php robots.txt static uc_server
[[email protected] ~]# ls -l /data/www/data/
total 56
drwxr-xr-x 2 daemon root 4096 Sep 25 22:42 addonmd5
drwxr-xr-x 11 daemon root 4096 Sep 25 22:42 attachment
drwxr-xr-x 2 daemon root 4096 Sep 25 22:42 avatar
drwxr-xr-x 2 daemon root 4096 May 31 11:08 backup_98143a
drwxr-xr-x 2 daemon root 4096 Sep 27 06:02 cache
drwxr-xr-x 3 daemon daemon 4096 Sep 26 00:00 diy
drwxr-xr-x 2 daemon root 4096 Sep 25 22:42 download
-rw-r--r-- 1 daemon root 0 May 31 11:08 index.htm
-rw-r--r-- 1 daemon daemon 0 Sep 26 00:01 install.lock
drwxr-xr-x 2 daemon root 4096 May 31 11:08 ipdata
drwxr-xr-x 2 daemon root 4096 Sep 25 22:42 log
drwxr-xr-x 2 daemon root 4096 Sep 25 22:42 plugindata
-rw-r--r-- 1 daemon daemon 0 Sep 27 17:26 sendmail.lock
-rw-r--r-- 1 daemon root 772 May 31 11:08 stat_setting.xml
drwxr-xr-x 2 daemon daemon 4096 Sep 26 00:00 sysdata
drwxr-xr-x 2 daemon root 4096 Sep 27 06:32 template
drwxr-xr-x 2 daemon root 4096 Sep 26 00:00 threadcache
在www.test.com 上发一个测试帖子。
在网站的根目录下
[[email protected] ~]# cd /data/www/data/attachment/forum/
[[email protected] forum]# ls
201609
[[email protected] forum]# cd 201609/
[[email protected] 201609]# ls
27 index.html
[[email protected] 201609]# cd 27
[[email protected] 27]# ls
222413qz6ng667thihgi65.jpg index.html
222413qz6ng667thihgi65.jpg 这就是刚才发测试帖的图片
通过IE 可以访问到刚刚在论坛里的那种图片。
http://www.test.com/data/attachment/forum/201609/27/222413qz6ng667thihgi65.jpg
如果网站有漏洞,被黑客上传病毒,不小心被执行。不可以禁止所有的用户去上传,但是我们可针对data 这个目录来做限制。
[[email protected] 27]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<Directory /data/www/data>
php admin flag engine off #关掉php 的解析引擎
# <filesmatch "(.*)php">
# Order deny,all
# Deny from all
# Allow from 127.0.01
</Directory>
访问http://www.test.com/data/info.php
你会发现会把这个 info.php 文件下载下来,这个肯定是不行的,也是不对的。
如果关掉禁止解析
[[email protected] 27]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<Directory /data/www/data>
#php admin flag engine off #关掉php 的解析引擎
# <filesmatch "(.*)php">
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
</filesmatch>
</Directory>
[[email protected] data]# apachectl -t
Syntax OK
[[email protected] data]# apachectl restart
再重新访问http://www.test.com/data/info.php,会看到相关重要的信息
所以有必要做对这个目录做一个限制
<Directory /data/www/data>
php admin flag engine off #关掉php 的解析引擎
<filesmatch "(.*)php">
Order deny,allow
Deny from all
Allow from 127.0.0.1
</filesmatch>
</Directory>
[[email protected] data]# apachectl -t
Syntax OK
[[email protected] data]# apachectl restart
再重新访问http://www.test.com/data/info.php,403
再次用 curl 命 令也解析不出来
[[email protected] data]# curl -x127.0.0.1:80 www.test.com/data/info.php
<?php
phpinfo();
?>