Назад | Перейти на главную страницу

Базовый анализ URL для аутентификации

У нас есть новый поставщик b2b, который хочет использовать базовую аутентификацию через URL.

Они хотят пройти аутентификацию так:

  //URL coming into our server
  http://usernametext:passwordtext@our.company.com/listener.php

Как я могу получить имя пользователя и пароль из URL-адреса с помощью моего скрипта listener.php?

Я попытался установить базовые заголовки auth на странице php man, но появляется окно входа в систему, что мне не нужно, поскольку это веб-службы, которые общаются друг с другом, а не с людьми:

if (!isset($_SERVER['PHP_AUTH_USER'])) {
     header('WWW-Authenticate: Basic realm="My Realm"');
     header('HTTP/1.0 401 Unauthorized');
     echo '<response><error>No username and password found</error></response>';
     exit;
 } else {

   //process request if username & password are legit

}

Эти должен оказаться в переменных $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW']. Вы не увидите их в $_SERVER['HTTP_HOST'] или что-нибудь.