【问题标题】:Problem: Password Protecting Particular PHP5 Page问题:密码保护特定 PHP5 页面
【发布时间】:2011-08-04 11:20:51
【问题描述】:

亲爱的, 访问特定 php 页面的密码保护似乎存在问题:
@ 当我嵌入这个测试代码时,我会很好地看到一个弹出的身份验证对话框。
@ 如果我填写字段并按回车,它不会在页面上显示密码/登录名!
@它只是再次向我展示了带有空字段的身份验证对话框......一次又一次 @ 尝试 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 htacces 或任何其他地方设置密码

【问题讨论】:

    标签: php authentication password-protection


    【解决方案1】:

    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 中 cmets 中更复杂的示例之一

    【讨论】:

      猜你喜欢
      • 2011-07-31
      • 2018-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-10
      • 1970-01-01
      • 2011-06-21
      • 2017-02-03
      相关资源
      最近更新 更多