zoukankan      html  css  js  c++  java
  • LAMP 2.5 Apache禁止解析php

    某个目录下禁止解析 php,这个很有用,我们做网站安全的时候,这个用的很多,比如
    某些目录可以上传文件, 为了避免上传的文件有木马, 所以我们禁止这个目录下面的访问解
    析 php.

    安装目录下有个data目录,查看一下他的权限。

    ll /data/www/data/

    apache运行的用户就是daemon。属主改成daemon因为在daemon下生成文件。

    例子:

    在论坛里发个帖子,上传本地图片。

    查找这个图片。

    ls /data/www/data/attachment/forum/201512/09/

    52365dsf89t55s.jpg

    data目录可以被用户写,用户上传个木马文件被执行,就会很危险。我们应该做些限制。

    打开虚拟机配置文件

    vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 

    插入

    <Directory /data/www/data>
    php_admin_flag engine off
    <filesmatch "(.*)php">
    Order deny,allow
    Deny from all
    </filesmatch>
    </Directory>

    说明:php_admin_flag engine off 这个语句就是禁止解析 php 的控制语句,但只这样配
    置还不够,因为这样配置后用户依然可以访问 php 文件,只不过不解析了,但可以下载,用
    户下载 php 文件也是不合适的,所以有必要再禁止一下。

    检测是否正确,重启

    apachectl -t
    /usr/local/apache2/bin/apachectl restart

    在/data/www/data下写一个php文件试试能不能解析

    vim /data/www/data/info.php
    <?php
    phpinfo();
    ?>

    在浏览器里输入

    http://www.denny.com/data/info.php

    错误403

    把禁止解析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
    #  <filesmatch "(.*)php">
    #   Order deny,allow
    #   Deny from all
    #  </filesmatch>
    #</Directory>

    用户访问就会解析成功,信息就会泄露。就有被攻击的危险。

  • 相关阅读:
    边工作边刷题:70天一遍leetcode: day 85-2
    边工作边刷题:70天一遍leetcode: day 85-1
    边工作边刷题:70天一遍leetcode: day 85
    边工作边刷题:70天一遍leetcode: day 86-2
    边工作边刷题:70天一遍leetcode: day 86-1
    边工作边刷题:70天一遍leetcode: day 86
    边工作边刷题:70天一遍leetcode: day 87
    边工作边刷题:70天一遍leetcode: day 88
    边工作边刷题:70天一遍leetcode: day 101
    边工作边刷题:70天一遍leetcode: day 89-1
  • 原文地址:https://www.cnblogs.com/wangshaojun/p/5034616.html
Copyright © 2011-2022 走看看