3

我的 codeingiter Web 应用程序中目录“应用程序”和“系统”内的每个子目录都有一个 index.html 文件。在这个 HTML 文件中,有一条看似标准的错误消息。它包含以下代码:

<html>
    <head>
        <title>403 Forbidden</title>
    </head>
    <body>
        <p>Directory access is forbidden.</p>
    </body>
</html>

我假设这些是创建的,因此如果有人试图访问“应用程序”或“系统”内的目录,它不会列出所有文件,而是会显示错误。

尽管我在每个目录中添加了一个 .htaccess 以拒绝所有访问,但这些似乎是多余的。这两个目录中的每个 PHP 文件也都有第一行:

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

这应该意味着根本没有人可以查看这些文件中的任何一个(因为我一次受到 .htaccess 的保护,一次受到那行 PHP 的保护)。

因此,我的问题是 - 为了让我的 Web 应用程序井井有条,整洁有序,我可以安全地删除这些 index.html 文件吗?这会对我的 codeigniter Web 应用程序造成任何不良副作用吗?

提前致谢

4

6 回答 6

2

的,您可以删除它们。

但即使您拥有适当的权利,您也应该拥有这些权利。因为它们只是出于目的,以防万一您忘记实施正确的目录浏览权限

于 2012-08-11T12:48:39.793 回答
1

就您设置的.htaccess文件而言,该文件没有重定向到您的文件或与您的文件没有关系index.html,您可以安全(且无需保留)删除您的index.html. 但是你应该小心。index.html如果您失败了,可以提供帮助.htaccess

于 2012-08-11T12:52:15.580 回答
1

一般来说,您可以删除那些 index.html 文件,但您需要确保在 Web 服务器配置中禁用目录索引。

对于 Apache Web 服务器,您可以在全局配置或 .htaccess 文件中使用Options -Indexes ,如下所示:

<Directory /wwwdata/ >

    #disable directory index
    Options -Indexes

    #other options ...

</Directory>

CodeIgniter 中的那些 index.html 文件会阻止(在任何情况下)目录列表,这会导致严重的安全流程。

于 2012-08-11T12:53:23.773 回答
0

虽然我同意 .htaccess 和基本路径条件检查已经足够好,但我并不认为在两个目录中有两个 html 文件真的会使任何事情变得混乱。将东西放到网络上时,你永远不会足够小心,CodeIgniter 的人肯定会在添加它之前考虑过它。

我真的看不到任何附加值可以消除它们,但是如果这是您想要做的,请继续。

于 2012-08-11T12:48:50.213 回答
0

但我建议也保留 index.html。保留 index.html 不会损害您的应用程序,但可以肯定它会起到某种保护作用。

于 2012-08-11T12:50:13.803 回答
0

如果您说您已经禁止使用 .htaccess 访问目录,那么您可以安全地删除它们,让您的后顾之忧!

但是,如果 PHP 脚本出于某种原因使用了该目录并将某些内容放入这些目录中,然后向用户提供了一个链接,例如,它将无法正常工作,您将不得不删除您的 .htaccess 限制。

我只是建议只留下一个空白index.html,当用户到达目录时,只会显示一个空白页面。

或者您可以使用index.php强制将用户重定向到主页,例如:

<?php
  header("Location: ../");
?>
于 2012-08-11T12:53:27.760 回答