zoukankan      html  css  js  c++  java
  • 关闭Apache的目录浏览功能

    一、默认情况

    默认情况下,Apache的配置文件C:webapache2.4conf/httpd.conf中有如下参数: 

    引用

    <Directory "/var/www/html">

    Options Indexes FollowSymLinks ......

    </Directory>   

    也就是说,在目录下没有默认首页面(如:index.html index.php等)时,可以让用户直接浏览web目录架构,这可能会导致一些重要的目录或配置文件被公开。 

    通常在Web应用上也会做一些安全考虑,以Bo-Blog为例,一些目录下会有类似的文件: 

    引用

    # cat inc/index.php

    <?php die ('Access Denied');   

    这样,可以避免用户直接浏览该目录时,看到整个目录结构。但如果访问它下面的子目录就没什么作用了:

       所以,这还是不太安全。 

    二、修改配置文件

    安全起见,我建议还是把Indexes选项关闭比较好,方法有两种:

    1、全局关闭

    修改上面提到的配置文件C:webapache2.4conf/httpd.conf,把: 

    引用 Options Indexes FollowSymLinks   

    改为:  引用 Options -Indexes FollowSymLinks   

    重启httpd服务即可,这样可以把所有网站的Indexes选项都取消。 

    2、修改.htaccess文件

    如需要针对特定的网站取消该功能,可以先打开.htaccess支持,

    修改C:webapache2.4conf/httpd.conf: 

    引用 <Directory "/var/www/html">

      ......

         AllowOverride None

       ......

    </Directory>   

    修改为: 

    引用

    <Directory "/var/www/html">

       ......     

      AllowOverride All

       ......

     </Directory>   

    然后,在各网站主目录写入一个.htaccess文件,内容有: 

    引用

    # head .htaccess

    Options -Indexes 

    <IfModule mod_rewrite.c>

    RewriteEngine on

    RewriteBase /

    ...... 

     保存后马上生效。  这时,访问同样的路径,就会报下面的错误提示:   

    ※ 从服务层面去屏蔽类似的问题,会比从应用层面解决要更安全和可靠。很多应用程序的默认设置都是比较宽松的,所以,在对外公布网站的时候,务必做好类似的安全检查,防止漏洞和隐患。

  • 相关阅读:
    Java-集合类源码List篇(二)
    规范输入
    Java 构造方法
    c语言函数实现交换两个数的值
    2015北京宇信易诚科技面试题
    Java中的访问控制
    2015大连华信校园招聘面试题--堆栈
    2015大连华信面试题OSI七层模型
    2015大连华信面试题二叉树、遍历
    2015大连华信面试题MVC框架
  • 原文地址:https://www.cnblogs.com/forforever/p/12333965.html
Copyright © 2011-2022 走看看