http认证,php 5.3

发布于 2024-10-21 00:29:12 字数 566 浏览 3 评论 0原文

我喜欢对一些非关键页面进行简单的 http 身份验证。

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
  header('WWW-Authenticate: Basic realm="My Realm"');
  header('HTTP/1.0 401 Unauthorized');
  echo 'Text, der gesendet wird, falls der Benutzer auf Abbrechen drückt';
  exit;
} else {
  echo "<p>Hallo {$_SERVER['PHP_AUTH_USER']}.</p>";
  echo "<p>Sie gaben {$_SERVER['PHP_AUTH_PW']} als Passwort ein.</p>";
}
?>

现在我尝试在服务器上使用 php 5.3 实现它,但它不起作用。 怎么了?

我输入名称和密码,按 Enter 键,页面再次显示对话框。 $_SERVER['PHP_AUTH_USER'] 中没有值。

I like this simple http authenticating for some non-critical pages.

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
  header('WWW-Authenticate: Basic realm="My Realm"');
  header('HTTP/1.0 401 Unauthorized');
  echo 'Text, der gesendet wird, falls der Benutzer auf Abbrechen drückt';
  exit;
} else {
  echo "<p>Hallo {$_SERVER['PHP_AUTH_USER']}.</p>";
  echo "<p>Sie gaben {$_SERVER['PHP_AUTH_PW']} als Passwort ein.</p>";
}
?>

Now I am trying to implement it on server with php 5.3 and it doesnt work.
Whats wrong?

I type name and password, press enter and pages show me dialog again.
No values in $_SERVER['PHP_AUTH_USER'].

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

莫多说 2024-10-28 00:29:12

我遇到了同样的问题。根据我的服务提供商的说法,这是旧版本的 php,不能在 php 5.5 和 5.5 上运行。更高。您将必须找到较新版本的 php。

I am experiencing the same problem. According to me service provider, this is an old version of php that doesn't work on php 5.5 & higher. You will have to find a newer version of php.

醉南桥 2024-10-28 00:29:12

从 php.net 上的 使用 PHP 进行 HTTP 身份验证 页面:

从 PHP 4.3.0 开始,为了防止有人编写脚本
它揭示了通过身份验证的页面的密码
传统的外部机制,PHP_AUTH变量不会被设置
如果为该特定页面启用了外部身份验证并且
安全模式已启用。无论如何,REMOTE_USER 可以用来识别
外部验证的用户。所以,你可以使用
$_SERVER['REMOTE_USER']。

也许这也适用于本案。 (刚刚注意到这是一个老问题:)

From the HTTP Authentication with PHP page on php.net:

As of PHP 4.3.0, in order to prevent someone from writing a script
which reveals the password for a page that was authenticated through a
traditional external mechanism, the PHP_AUTH variables will not be set
if external authentication is enabled for that particular page and
safe mode is enabled. Regardless, REMOTE_USER can be used to identify
the externally-authenticated user. So, you can use
$_SERVER['REMOTE_USER'].

Perhaps this applied to this case. (just noticed this is an old question :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文