我尝试通过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']
从未设置!可能的问题是什么?我正在运行Ubuntu 10.04 LTS服务器,使用Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.7d DAV/2 Server
。