我有一个支持PHP的网站,目录列表已关闭。
但是,当我使用Acunetix :(网络漏洞扫描软件)扫描我的网站和其他知名网站时,它能够列出所有目录&文件。
我不知道这是怎么回事,但我有这个理论:也许该软件正在使用英文单词,尝试通过尝试“include/
”,“{{1等名称来查看文件夹是否存在然后,也许能够以这种方式列出文件。
css/
“等等
因为,如果目录列表关闭,我不知道还有什么可以做。
所以,我设计了这个计划,如果我给我的文件夹/文件很难找到像I3Nc_lude,11css11等那样的名字,那么软件可能很难找到这些名字。你怎么看?
我知道,我对此可能是错误的,这个想法可能是可笑的,但这就是我寻求帮助的原因。
你怎么完全!禁止目录列表??
答案 0 :(得分:2)
确保站点根目录中的所有目录都有目录 列表禁用。默认情况下,在您设置时,它通常处于打开状态 新服务器。
假设您的网络服务器中的目录列表不是您的问题, 请记住,您的站点中有任何资源:CSS文件,JS 来源,当然HREF可以很少或没有遍历 努力(通常是几行javascript)。没有办法 隐藏你引用的任何内容。这很可能就是你 正在看到反映在扫描中。
或者,如果您使用SVN或其他版本控制系统 部署您的网站,通常这些可以用来确定路径 代码库中的每个文件。
人们在第一次创建网站时最常犯的错误可能是他们将所有文件保存在webroot中,并且弄清楚事情的位置变得有些微不足道。
恕我直言,最好的方法是将您的代码放在webroot之外的单独目录中,然后根据需要加载它(这就是大多数MVC框架的工作方式)。您可以完全控制通过网络可以访问和不可访问的内容。你可以在一个目录中拥有100个类,只要它们不在webroot中,即使目录列表被启用,也没有人能够看到它们。
答案 1 :(得分:1)
这听起来像是一场噩梦。通过所有预防措施,专注于尽可能保护文件。不要通过默默无闻地依赖安全。如果有人想要,一些随机目录名称会稍微减慢它们的速度
答案 2 :(得分:1)
检查员没有使用某种基于语言的暴力攻击,即使是对于最无能的黑客来说,这也是非常昂贵和侵略性的。您的互联网文件共享服务(Apache,IIS,无论如何)正在向任何要求的人提供结构。
我找到了这个解决方案 - 它应该适用于你,我希望。
隐藏目录结构也是一种好习惯。默认情况下,许多WordPress安装允许任何访问者窥探并查看缺少索引文件的文件夹中的所有文件。虽然这似乎并不危险,但确实如此。通过使访问者能够查看每个目录中的文件,他们可以更好地策划他们的攻击。</ p>
要解决此问题,您可以执行以下两项操作之一:
选项1:使用索引文件
对于要保护的每个目录,只需添加索引文件即可。一个简单的index.html文件就足够了。
选项2:使用.htaccess文件
隐藏目录结构的首选方法是在.htaccess文件中使用以下代码。
选项-indexes