2

知道deny from all指令将遍历其下的所有子目录和文件,并忽略“如果您忘记”复制.htaccess文件或创建.htaccess文件时输入错误的明显警告......

在 DocumentRoot 之外存储非公共文件与在 DocumentRoot每个非公共目录放置带有指令的文件之间是否存在安全风险?.htaccessdeny from all

4

1 回答 1

1

这里有几点需要考虑:

  1. .htaccess 只会保护您的文件不被网络访问。例如,假设您有一个典型的 FTP 服务器设置,其中的虚拟用户仅限于文档根目录。如果攻击者获得了对您的 FTP 服务器的访问权(考虑到大多数 FTP 配置的不安全性,这并不是那么牵强),他们将可以访问 .htaccess 文件和文档根目录中的任何受保护文件。

    这只是一个可能不适用于您的环境的示例,但我真正想要理解的想法是 .htaccess 文件不会为您提供那么深的安全性。它们在一种情况下(通过 Internet 访问)保护您,但在其他情况下不保护您。

  2. 您的服务器管理员可以禁用特定的 .htaccess 指令,禁用某些 Apache 模块(您的 .htaccess 文件可能会使用),甚至可以禁用 .htaccess 文件期间的使用。如果您无法控制 Apache 配置(我假设是这种情况,因为您选择使用 .htaccess 文件覆盖它),您也无法真正控制 .htaccess 文件是否为会受到尊重。这实际上取决于您与主机/服务器管理员的关系以及他们决定允许的内容。

  3. 最后,如果 .htaccess 文件可由运行 Apache 服务器的用户写入,则有决心的黑客可以修改该文件。前任。如果您使用的是 Wordpress,许多流行的主题将要求对 .htaccess 文件具有写入权限,以便它们可以控制 URL 重写。我想其他一些内容管理系统也会这样做。

尽管如此,使用 .htaccess 文件(或直接更改您的 Apache 配置文件)对您来说仍然是一种完全有效的安全措施。这取决于您的整个环境是什么样的——您的服务器是如何配置的,您要保护什么,等等。希望我至少给了您一些思考的东西。

于 2013-02-26T13:34:35.590 回答