Web 服务器安全性的目录结构

Web 服务器安全性的目录结构

我在应用程序中有很多目录,例如

root 
index.php
modules/ 
includes/ 
data/
themes/ 
and 
etc. 

我已将 index html 文件放在每个文件夹中,以使其简单安全。但我认为必须有一些更好、更安全的技术来确保安全。

我的问题是我们如何通过 htacess 和 php 来做到这一点。

答案1

移动所有不需要将其下的文档根取出。

答案2

请记住,您不需要将所有文件都放在服务器目录结构的公开可访问部分。假设您的文档根目录位于:
/applicationname/www/

您可以将公众不需要看到的东西移至:

/应用程序名称/包括/
/应用程序名称/数据/
...等等。

您仍然可以在代码中引用这些位置(因为它使用服务器的目录结构),但其他人将无法访问它,因为它在您的文档根目录之外。

答案3

我会像 Andrew 一样将它们列为 /includes/ 或 /data/,但放置 index.html 仍然是个好主意。根据您使用这些文件的用途,您可以使用 IP 安全性。$_SERVER['REMOTE_ADDR'] ==“您的 ip”,当然,如果这在某种意义上应该是公开的,这将不是一种安全性。

答案4

Options -indexes

这与在每个文件夹中放置一个 index.html 文件具有相同的效果,因此人们必须猜测 URL,而不是获取一个很好的文件名列表。

为了保护包含文件夹(以及可能的数据),您可以在里面放置一个包含以下内容的 .htaccess 文件:

Order allow,deny
Deny from all
Satisfy All

这样,就没有人可以从互联网访问这些文件,只有 PHP 可以包含/读取它们。

相关内容