如何发送一种持久性的;“授权”;使用PHP的标题

如何发送一种持久性的;“授权”;使用PHP的标题,php,apache,.htaccess,authentication,Php,Apache,.htaccess,Authentication,我不知道这是否可能,但如果我不问,我永远也不会知道:) 我有一本书。也就是说:我在一些文件夹中有一些静态文件,我只希望一些用户看到这些内容。用户来自以前的登录 在该主题中讨论了一些可能的解决方案,但我想到了另一种可能的解决方案。如果我可以用PHP发送授权HTTP头,其中包含用户的用户名和密码,并在后续请求中保持它的持久性(我认为apache身份验证就是这样)。我会在上次登录时发送该标题,然后当用户尝试访问其目录时,.htaccess会检查他是否是有效用户 我已尝试使用PHP发送授权标头,其中包含

我不知道这是否可能,但如果我不问,我永远也不会知道:)

我有一本书。也就是说:我在一些文件夹中有一些静态文件,我只希望一些用户看到这些内容。用户来自以前的登录

在该主题中讨论了一些可能的解决方案,但我想到了另一种可能的解决方案。如果我可以用PHP发送授权HTTP头,其中包含用户的用户名和密码,并在后续请求中保持它的持久性(我认为apache身份验证就是这样)。我会在上次登录时发送该标题,然后当用户尝试访问其目录时,.htaccess会检查他是否是有效用户

我已尝试使用PHP发送授权标头,其中包含:

header('Authorization: Basic '.base64_encode($USERNAME.':'.$PASSWORD).PHP_EOL);
但他们只为一个请求出席

在.htaccess中,我已经检查过不可能有唯一的“Require user USERNAME”,因此我认为有必要创建一个htpasswd文件来存储与登录进程使用的凭据相同的凭据,然后创建一个常用的身份验证配置(基本或摘要):

先谢谢你

我想了另一个可能的解决办法。如果我能用PHP发送授权HTTP头


您不能

您可以使用一个简单的“requirevaliduser”由Apache处理一个基本的或摘要的HTTP身份验证。 没有apache可以实现很多mod_auth变体,请检查mod_auth*in。 因此,您可以告诉apache,或者甚至使用您提供的自定义代码执行身份验证


外部脚本支持很好,因为您可以使用缓存级别实现会话身份验证(以防止对每个请求的资源重新进行整个身份验证),这基本上是默认的基于cookie的会话的情况(首先进行身份验证,然后只传输PHPSESSID,因此我们将检查会话是否存在)。

我阅读了它,但在那里没有找到答案
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /path/to/htpasswd/file
Require user USERNAME