2012-08-11 81 views
3

我的codeingiter web应用程序中的目录'application'和'system'内的每个子目录都有一个index.html文件。在这个HTML文件里面有一个标准的错误信息。它包含以下代码:我可以安全地删除codeigniter中每个目录下的index.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应用程序造成不良的副作用吗?

在此先感谢

+0

它是配置错误mod_index和目录的访问权限一个普通的解决方法。它也被认为是安全的,因为框架通常会留下其他轨道。如果在任何分布式的.php脚本中有自动运行的全局代码,那么这就是实际的安全问题。 – mario 2012-08-11 13:05:08

回答

2

,你可以删除它们。

但即使你有适当的权利,你应该有他们在那里。因为他们只是为了目的,万一你忘了执行正确的目录浏览权限

+0

谢谢,我尽可能多的想到了,但是成为我第一次使用框架的经验,我有点担心摆弄! – Grenville 2012-08-11 12:52:06

0

虽然我同意.htaccess和basepath条件检查是否足够好,但我真的不认为有两个html文件两个目录确实混乱了任何东西。把东西放到网上时,你永远不会小心,CodeIgniter的人在添加它之前肯定会考虑它。

我真的没有看到任何增加价值的消除它们,但如果这是你想要做的事情继续前进。

+0

这不仅仅是两个index.html文件,总共有大约20个文件,因为应用程序和系统文件夹里面也有子目录,也有index.html文件 – Grenville 2012-08-11 12:51:24

+0

是的,我知道。但我所说的是,一旦你开始使用codeigniter,随着时间的推移,你将学会忽略这些文件,它们不会打扰你。至于系统文件夹,你真的不需要进入它们,除非它们您正在对核心框架进行更改。在应用程序文件夹中,随着时间的推移,您将越来越多地参与到您的模型,控制器和视图中。我和CI一起工作了很多,我不再意识到索引文件已经存在了。 – raidenace 2012-08-11 13:29:53

0

但我建议保持index.html。保持index.html不会伤害你的应用程序,但确保它做了某种保护。

1

只要您设置了您的.htaccess文件,该文件不会重定向到您的文件或与您的文件无关,您可以安全地(并且无需保留)删除您的index.html。但你应该小心。 index.html可以帮助你的情况下,如果你失败,你可以.htaccess

1

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

对于您可以使用选项-Indexes无论是在全局配置或.htaccess文件这样的Apache Web服务器:在笨预防(无论如何)目录列表

<Directory /wwwdata/ > 

    #disable directory index 
    Options -Indexes 

    #other options ... 

</Directory> 

这些文件的index.html这可能导致严重的安全流量。

0

如果您声称使用.htaccess禁止访问该目录,那么您可以安全地删除它们,让您的烦恼消失!

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

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

或者你可以强制用户被重定向到主页面的index.php,例如:

<?php 
    header("Location: ../"); 
?> 
相关问题