亲爱的朋友们,
用于访问特定php页面的密码保护似乎存在问题:
@当我嵌入这个测试代码时,我很好地使用了一个弹出的身份验证对话框
@如果我填写字段并按回车键,则不会在页面上显示密码/登录信息!
@它再次向我展示了带有空字段的auth对话框......一次又一次
@经过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>";
}
Ive Apache 2.0x Fedora与PHP 5.2.3并没有其他地方在apache htacces或任何其他地方设置密码
答案 0 :(得分:3)
PHP_AUTH_USER
最多可用于mod_php设置。对于CGI或FastCGI设置,您必须手动取消编组HTTP_AUTHORIZATION
标头。更糟糕的是,出于安全原因,通常不会出现这种情况。 (Basic Authentication with PHP gives an endless loop)
您必须使用phpinfo()检查您可以使用哪种变体。然后从http://www.php.net/manual/en/features.http-auth.php#94349
中的注释中应用一个更复杂的示例