1

因此,不要像我在这里尝试的那样从整个身份验证中排除一个文件。我刚刚决定将特定文件添加到身份验证中,如下所示:

<Files ...>
</Files>

事情是这样的:

<Files Available.php>
    AuthType Basic
    AuthName "Login"
    AuthUserFile /disks/*/*/Folder/.htpasswd
    Require valid-user
</Files>

它的工作原理是它需要对 php.ini 进行身份验证。但是,当我像这样放置多个文件时:

<Files Available.php,Insert.php,upload_file.php>
    AuthType Basic
    AuthName "Login"
    AuthUserFile /disks/*/*/Folder/.htpasswd
    Require valid-user
</Files>

它不需要对任何文件进行身份验证。有什么想法我在语法上写错了吗?

另外,我如何要求对所有子目录进行身份验证?

4

1 回答 1

1

您不能在指令中放置多个文件名。请参阅指令示例。

http://www.askapache.com/htaccess/using-filesmatch-and-files-in-htaccess.html

如果您无法将文件与通配符匹配,最好的办法是将它们全部放在一个子目录中并使用您的身份验证。

您的另一个选择是将 php 身份验证与会话(基于 cookie 或 url)一起使用,并让需要身份验证的 php 文件在运行之前检查有效会话。

我用经过身份验证的管理员编写了相当数量的基于 php 的站点,我总是使用子目录,然后使用 ssl 以使其更安全。

于 2012-10-15T02:35:06.073 回答