【发布时间】:2011-10-26 13:37:48
【问题描述】:
我尝试通过http实现一个小的认证,并从网上复制了这段代码来检查它是否能正常工作:
<?php
if(!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
} else {
echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
?>
但是,我的浏览器总是要求输入用户名和密码,但在我取消之前从不输出任何内容。因此我认为$_SERVER['PHP_AUTH_USER'] 永远不会设置!可能是什么问题?我正在使用Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.7d DAV/2 Server 运行 Ubuntu 10.04 LTS 服务器。
【问题讨论】:
-
@Jonny Keogh:Safari 5 和 Firefox 5,但是 andreas 已经通过检查 CGI/FCGI 解决了这个问题。
标签: php http authentication server-variables