PHP_AUTH_USER 未设置?

标签 php http-authentication

由于某种原因,里面没有任何代码

if (isset($_SERVER['PHP_AUTH_USER']) &&
    isset($_SERVER['PHP_AUTH_PW']))
{

// When the above is set, the code that is here will execute of course

}

正在为我执行。当我输入正确的用户名和密码时,再次弹出授权提示框。如果两个字段都是正确的并且我按回车键,难道两个字段都不会被“设置”吗?但出于某种原因,情况并非如此。我做错了什么? 谢谢。

最佳答案

有一种在 CGI 模式 PHP 中使用 HTTP Basic Auth 的“明智方法”:在 .htaccess 中使用

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

并在PHP中使用

list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = 
  explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));

关于PHP_AUTH_USER 未设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3663520/

相关文章:

node.js - Express.JS 中使用动态 URL 的 HTTP 身份验证

authentication - 了解跨域用户认证

.net - WCF WebHttp 混合身份验证(基本和匿名)

php - PHP explode() 模式有什么用?

node.js - 使用 DialogFlow 向私有(private) cloud9 https 服务器进行身份验证

javascript - AJAX POST 请求未在 post 路由中调用 Controller 方法

php - 使用一个脚本标签的多个外部 JavaScript 文件

javascript - 使用 JavaScript 最佳方法的 HTTP 基本身份验证

php - .HTACCESS 添加到 slugs

php - 使用 phpseclib 在 MySQL 中进行 SQL 查询