2

我有一个启用 PHP 的站点,但目录列表已关闭。

但是,当我使用 Acunetix:(网络漏洞扫描软件)扫描我的网站和其他知名网站时,它能够列出所有目录和文件。

我不知道这是怎么回事,但我有这样的理论:也许软件正在使用英文单词,试图通过尝试“ include/”、“ css/”、“ /images”等名称来查看文件夹是否存在。然后,也许它能够以这种方式列出文件。

因为,如果目录列表关闭,我不知道还有什么可做的。

所以,我设计了这个计划,如果我给我的文件夹/文件起难的名字,比如 I3Nc_lude、11css11 等,软件可能很难找到这些名字。你怎么看?

我知道,我对此可能大错特错,这个想法可能很可笑,但这就是我寻求帮助的原因。

你怎么完全!禁止目录列表??

4

3 回答 3

2
  1. 确保站点根目录中的所有目录都禁用了目录列表。当您设置新服务器时,它通常默认打开。

  2. 假设您的网络服务器中的目录列表不是您的问题,请记住您网站中的任何资源:CSS 文件、JS 源代码,当然还有 HREF 可以轻松或不费力地遍历(通常是几行 javascript) . 无法隐藏您引用的任何内容。这很可能是您在扫描中看到的反映。

  3. 或者,如果您使用 SVN 或其他版本控制系统来部署您的站点,通常这些可用于确定代码库中每个文件的路径。

人们在第一次创建站点时最常犯的错误可能是他们将所有文件都保存在 webroot 中,而弄清楚它们在哪里变得有些微不足道。

IMHO the best approach is have your code in a separate directory outside the webroot, and then load it as needed (this is how most MVC frameworks work). You can control entirely then what can and can not be accessed via the web. You can have 100s of classes in a directory and as long as they are not in the webroot, no one will ever be able to see them, even if directory listing were to become enabled.

于 2012-09-05T18:13:09.253 回答
1

这听起来像是一场噩梦。专注于通过所有预防措施尽可能地保护文件。不要通过默默无闻来依赖安全性。如果有人想进入,一些随机的目录名称只会稍微减慢它们的速度

于 2012-09-05T17:58:21.773 回答
1

跳棋并没有使用某种基于语言的蛮力攻击,即使对于最无能的黑客来说,这也太昂贵且具有侵入性。您的 Internet 文件共享服务(Apache、IIS 等)正在为任何询问的人提供该结构。

我找到了这个解决方案 - 我希望它应该适用于你。

http://www.velvetblues.com/web-development-blog/dont-get-hacked-6-ways-to-secure-your-wordpress-blog/

  1. 隐藏您的目录结构

隐藏目录结构也是一个好习惯。默认情况下,许多 WordPress 安装允许任何访问者窥探并查看缺少索引文件的文件夹中的所有文件。虽然这看起来并不危险,但确实如此。通过使访问者能够查看每个目录中的文件,他们可以更好地策划他们的攻击。

要解决此问题,您可以执行以下两项操作之一:

选项 1:使用索引文件

对于您要保护的每个目录,只需添加一个索引文件。一个简单的 index.html 文件就足够了。

选项 2:使用 .htaccess 文件

隐藏目录结构的首选方法是在 .htaccess 文件中使用以下代码。

选项-索引

于 2012-09-05T17:58:52.063 回答