【发布时间】:2015-09-25 10:06:07
【问题描述】:
是否可以在 PHP 中访问通过服务器的本机 HTTP 摘要身份验证进行身份验证的用户的登录名(因为完全反对同一 HTTP 身份验证协议的 PHP 实现)?
【问题讨论】:
标签: php http digest-authentication
是否可以在 PHP 中访问通过服务器的本机 HTTP 摘要身份验证进行身份验证的用户的登录名(因为完全反对同一 HTTP 身份验证协议的 PHP 实现)?
【问题讨论】:
标签: php http digest-authentication
客户端发送的HTTP标头中提供了您要的数据(根据https://www.rfc-editor.org/rfc/rfc2617),即标头Authorization。
在 PHP 中,可以像这样检索这个标头:
$header = $_SERVER['HTTP_AUTHORIZATION'];
标头包含许多用逗号分隔的键值对。用户名在username 键中,您可以通过以下方式提取:
preg_match('/username="([^"]+)"/', $header, $matches);
$username = $matches[1];
【讨论】: