各位:访问特定php页面的密码保护似乎有问题:
@当我嵌入这个测试代码时,我看到了一个弹出的身份验证对话框。
@如果我填写字段并按enter,它不会在页面上显示密码/登录!
@它只是再次向我展示了空字段的验证对话框…一次又一次@在尝试了3次之后,它说未经授权访问…
发生了什么事?非常感谢您的建议!
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>";
}
在Apache 2.0x Fedora上安装PHP 5.2.3,并且在Apache htaccess或其他任何地方都没有设置密码
PHP_AUTH_USER
最多只能用于mod_php设置。对于CGI或FastCGI设置,您必须手动解除HTTP_AUTHORIZATION
头的编组。更糟糕的是,出于安全原因,它经常不存在。(PHP的基本认证给出了一个无限循环)
您必须使用phpinfo()检查您可以使用哪个变体。然后应用http://www.php.net/manual/en/features.http-auth.php#94349