Html索引页面和该目录中的文件

时间:2010-03-23 15:06:18

标签: html file indexing

在我的网站上,有一个索引页面,但如果我取出该索引页面,用户将看到该目录中的文件,例如我的网站是:XYZ.com,我有一个名为“My_Dir”的目录,所以当用户输入“XYZ.com/My_Dir”时,如果有的话,他会看到index.html,但是如果不存在,他会在“My_Dir”中看到我所有文件的列表,所以它是否安全假设在我的任何子目录中都有索引页面,我可以隐藏这些目录中的所有文件,换句话说,如果我在“My_Dir”中有“123.txt,abc.html和index.html”,由于“index.html”的存在,用户将无法看到“123.txt,abc.html”[当然除非我在index.html中提到这两个文件]?

5 个答案:

答案 0 :(得分:2)

这是对的。除非这些文件永远不会链接到任何地方并且没有人只是尝试键入各种文件名。

要隐藏文件,有更好的选择。例如,在apache上,您可以使用.htaccess作为password-protection。您还可以turn off目录列表。

答案 1 :(得分:1)

您需要拒绝在网络服务器上浏览目录。

我不知道如何在Apache上做,但在

IIS 6

  1. Richt-点击“网站”下的特定网站。 “默认网站”
  2. 点击“主目录”标签
  3. 确保未选中“目录浏览”
  4. <强> IIS7

    1. 点击IIS中的网站
    2. 下的特定网站
    3. 双击“目录浏览”
    4. 点击右侧窗口中的“禁用”链接

答案 2 :(得分:0)

这是一个安全的假设:在大多数服务器上(至少使用Apache AFAIK),默认页面为index.html,因此它将服务器作为网页而不是显示文件结构。

仅仅因为他们看不到文件,但并不意味着他们无法猜测abc.htmlsecret.txt。值得了解MOD_REWRITE(如果您使用的是Apache)或者了解服务器上的默认值。你知道它正在运行什么软件吗?

答案 3 :(得分:0)

这在很大程度上取决于您的Web服务器,但是,Apache和IIS(最常见的Web服务器)的默认设置是index.html页面(如果存在)将始终是默认视图(如果您访问。目录

但有两个要点:一个是可配置的;您可以设置哪个页面名称应该是默认视图,并且您可以设置是否启用目录浏览(查看文件列表),即使默认视图不存在。

第二点是目录中的其他文件仍然可以访问,它们不会被列出。

答案 4 :(得分:0)

你是对的,他们只能通过访问标准浏览器中目录名称末尾的URL来看到它们。但是,如果您有其他可用的连接选项,例如FTP,则在建立有效连接后,它们很可能能够在任何地方查找。

一般安全建议:您应该对您不希望随机人员查看的任何文件设置严格权限。当然,这不适用于您希望在线提供的页面(例如通过链接),但如果您是那种在各种目录中为自己留下小笔记的人,则可能会有所帮助。

还要注意Alex的第二段(诅咒,我已被FGIW编辑过)。