Apache 运行的用户是 daemon

[root@OBird ~]# 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

[root@OBird ~]# 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 p_w_upload

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上发一个测试帖子。



在网站的根目录下


[root@OBird ~]# cd /data/www/data/p_w_upload/forum/

[root@OBird forum]# ls

201609

[root@OBird forum]# cd 201609/

[root@OBird 201609]# ls

27 index.html

[root@OBird 201609]# cd 27

[root@OBird 27]# ls

222413qz6ng667thihgi65.jpg index.html


222413qz6ng667thihgi65.jpg 这就是刚才发测试帖的图片


通过IE 可以访问到刚刚在论坛里的那种图片。

http://www.test.com/data/p_w_upload/forum/201609/27/222413qz6ng667thihgi65.jpg


如果网站有漏洞,被***上传病毒,不小心被执行。不可以禁止所有的用户去上传,但是我们可针对data 这个目录来做限制。


[root@OBird 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 文件下载下来,这个肯定是不行的,也是不对的。



如果关掉禁止解析

[root@OBird 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>

[root@OBird data]# apachectl -t

Syntax OK

[root@OBird 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>

[root@OBird data]# apachectl -t

Syntax OK

[root@OBird data]# apachectl restart

再重新访问http://www.test.com/data/info.php,403

再次用 curl 命 令也解析不出来

[root@OBird data]# curl -x127.0.0.1:80 www.test.com/data/info.php

<?php

phpinfo();

?>