php - 在 PHP 中访问 HTTP 身份验证用户名?

标签 php http digest-authentication

在 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/

相关文章:

java - 如何从 HTTP POST 读取文件

java - 使用 Java 和 Apache 客户端的摘要身份验证 : Always 401 Unauthorized

c# - 在 PHP/Bash/C# 中从 PDF 中删除图层/背景#

php - 如何在跑马灯中显示 mysql 数据?

PHP 使用 session_cache_limiter() 和 session_cache_expire() 或多个 header()

python - 如何在 Flask 中对 HTTP 摘要身份验证进行单元测试?

jboss - 如何为 Web 应用程序中的摘要式身份验证配置 JBoss DatabaseServerLoginModule

php - 如何在 PHP 中使用 str_replace() 替换 "\"?

php - 在 Laravel 中使用 mutator 填充列

c - 使用套接字的自编码下载管理器下载后截断的 tar.gz 存档