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

问题描述

| 亲爱的人们, 用于访问特定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>\";
}
Ive Apache 2.0x Fedora和PHP 5.2.3,在apache htacces或其他任何方式中均未设置密码     

解决方法

mod1ѭ最多可用于mod_php设置。对于CGI或FastCGI设置,您将必须手动解组
HTTP_AUTHORIZATION
标头。更糟糕的是,出于安全原因,通常不存在该问题。 (使用PHP进行基本身份验证会产生无限循环) 您将必须使用phpinfo()检查可以使用的变体。然后从http://www.php.net/manual/zh-cn/features.http-auth.php#94349中的注释中应用更复杂的示例之一