• 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>

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

  • 相关阅读:
    随堂练习 磁盘管理文件系统
    随堂练习 shell脚本(二)
    随堂练习 软件包管理
    随堂练习 压缩和解压缩
    随堂练习 文本处理小工具
    随堂练习 用户和组的权限管理
    随堂练习 bash shell特性和I/O重定向及管道
    随堂练习 Linux 文件管理
    随堂练习 linux 基础知识
    C连载13-复数类型以及基本数据类型总结
  • 原文地址:https://www.cnblogs.com/wangshaojun/p/5034616.html
Copyright © 2020-2023  润新知