http аутентификация, php 5.3 - PullRequest
0 голосов
/ 08 марта 2011

Мне нравится эта простая 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, и он не работает.Что случилось?

Я набираю имя и пароль, нажимаю ввод и страницы снова показывают мне диалог.Нет значений в $ _SERVER ['PHP_AUTH_USER'].

Ответы [ 2 ]

0 голосов
/ 13 ноября 2013

Со страницы HTTP-аутентификации с PHP на php.net:

Начиная с PHP 4.3.0, чтобы кто-то не смог написать скрипт который показывает пароль для страницы, которая была аутентифицирована через традиционный внешний механизм, переменные PHP_AUTH не будут установлены если внешняя аутентификация включена для этой конкретной страницы и безопасный режим включен. В любом случае, REMOTE_USER может использоваться для идентификации внешне аутентифицированный пользователь. Итак, вы можете использовать $ _SERVER [ 'REMOTE_USER'].

Возможно, это относится к этому делу. (только заметил, что это старый вопрос:)

0 голосов
/ 10 июня 2012

У меня такая же проблема.По моему мнению, это старая версия php, которая не работает на php 5.5 и выше.Вам нужно будет найти более новую версию php.

...