问题:密码保护特定PHP5页面


Problem: Password Protecting Particular PHP5 Page

各位:访问特定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

中注释中的一个更复杂的示例