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>

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

  • 相关阅读:
    IntelliJ Idea和IntelliJ webstrm 常用快捷键
    mybatis基础学习2---(resultType和resultMap的用法和区别)和setting的用法
    使用观察者模式观察线程的生命周期
    观察者设计模式介绍
    java的内存模型及缓存问题
    一个解释volatile关键字作用的最好的例子
    多线程的waitset详细介绍
    浅谈单例模式
    SimpleThreadPool给线程池增加自动扩充线程数量,以及闲时自动回收的功能
    SimpleThreadPool给线程池增加拒绝策略和停止方法
  • 原文地址:https://www.cnblogs.com/wangshaojun/p/5034616.html
Copyright © 2011-2022 走看看