首页 > 代码库 > Apache 配置 之 禁止解析

Apache 配置 之 禁止解析

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



技术分享

在网站的根目录下


[root@OBird ~]# cd /data/www/data/attachment/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/attachment/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();

?>


本文出自 “CBO#Boy_Linux之路” 博客,请务必保留此出处http://20151213start.blog.51cto.com/9472657/1857968

Apache 配置 之 禁止解析