在 PHP 中访问 HTTP 身份验证用户名?
Access HTTP authentication username in PHP?
在 PHP 中是否可以访问使用服务器的本地 HTTP 摘要身份验证进行身份验证的用户的登录名(因为 与 完全相反 PHP实施相同的 HTTP 身份验证协议)?
客户端发送的 HTTP header 中提供了您想要的数据(根据 https://www.rfc-editor.org/rfc/rfc2617 ),即 header Authorization
.
在 PHP 中,这个 header 可以像这样检索:
$header = $_SERVER['HTTP_AUTHORIZATION'];
header包含若干键值对,以逗号分隔。用户名在 username
键中,您可以通过以下方式提取它:
preg_match('/username="([^"]+)"/', $header, $matches);
$username = $matches[1];
在 PHP 中是否可以访问使用服务器的本地 HTTP 摘要身份验证进行身份验证的用户的登录名(因为 与 完全相反 PHP实施相同的 HTTP 身份验证协议)?
客户端发送的 HTTP header 中提供了您想要的数据(根据 https://www.rfc-editor.org/rfc/rfc2617 ),即 header Authorization
.
在 PHP 中,这个 header 可以像这样检索:
$header = $_SERVER['HTTP_AUTHORIZATION'];
header包含若干键值对,以逗号分隔。用户名在 username
键中,您可以通过以下方式提取它:
preg_match('/username="([^"]+)"/', $header, $matches);
$username = $matches[1];