在 PHP 中是否可以访问使用服务器的 native HTTP 摘要身份验证进行身份验证的用户的登录名(完全反对相同 HTTP 身份验证协议(protocol)的 PHP 实现)?
最佳答案
您需要的数据在从客户端发送的 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 - 在 PHP 中访问 HTTP 身份验证用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32779785/