[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: базовая аутентификация
argentum88
Приветствую Уважаемые Форумчане!!!
Только что прочитал про базовую аутентификацию по уроку http://irbis-team.com/15/5/9
Написал у себя код, дабы испытать сие творение цивилизации:

<?php
header("Content-Type: text/html; charset=utf-8");

/////////////////////////////////////////////////////
/////////////////Настройки//////////////////////////
///////////////////////////////////////////////////


$admins=array(
'root' => 'root',
'admin' => 'admin'
);

////////////////////////////////////////////////////
//////////////////////Защита///////////////////////
//////////////////////////////////////////////////


if(empty($_SERVER['PHP_AUTH_USER'])){
header('WWW-Authenticate: Basic realm="Admin Page"');
header('HTTP/1.0 401 Unauthorized');
exit();
}

$key = false;

if(isset($admins[$_SERVER['PHP_AUTH_USER']])
&&
$_SERVER['PHP_AUTH_PW'] === $admins[$_SERVER['PHP_AUTH_USER']])
{
$key = true;
}

if(empty($key))
{
header('WWW-Authenticate: Basic realm="Administrative resource"');
header ('HTTP/1.0 401 Unauthorized');
exit();
}
echo "HELLO";
?>


Все вроде как работает, если не одно но, при повторной аутентификации(Обновлении страницы) отсутствует запрос на очередную аутентификацию. Если перезапустить браузер тогда всё Ok.
В чём загвоздка уважаемые???



Спустя 15 минут, 55 секунд (4.09.2012 - 13:29) Hello написал(а):
Если сервер отвечает заголовком отличным от 401, то браузер сохраняет логин и пароль на всю сессию.

Спустя 1 час, 36 минут, 29 секунд (4.09.2012 - 15:06) argentum88 написал(а):
И как же мне узнать эти заголовки?

Спустя 2 часа, 21 минута, 40 секунд (4.09.2012 - 17:27) argentum88 написал(а):
get_headers вернул
Array ( [0] => HTTP/1.0 401 Unauthorized [1] => Date: Tue, 04 Sep 2012 14:21:22 GMT [2] => Server: Apache/2.2.22 (Win32) mod_ssl/2.2.22 OpenSSL/1.0.1c PHP/5.3.13 [3] => X-Powered-By: PHP/5.3.13 [4] => WWW-Authenticate: Basic realm="Admin Page" [5] => Content-Length: 0 [6] => Connection: close [7] => Content-Type: text/html; charset=utf-8 )

Прошу прошения за нечитабельность
Я так понимаю 401 Unauthorized это значит что то не в порядке???

Спустя 14 минут, 50 секунд (4.09.2012 - 17:42) argentum88 написал(а):
хотя нет, те же самые заголовки приходит и при первом запуске скрипта, когда всё нормально запрашивает blink.gif

Спустя 1 день, 17 часов, 48 минут, 48 секунд (6.09.2012 - 11:31) argentum88 написал(а):
Кто нибудь поможет? sad.gif

Спустя 5 минут, 19 секунд (6.09.2012 - 11:36) Игорь_Vasinsky написал(а):
 $admins=array(
'root' => 'root',
'admin' => 'admin'
);


Цитата
if(isset($admins[$_SERVER['PHP_AUTH_USER']])
        && $_SERVER['PHP_AUTH_PW'] === $admins[$_SERVER['PHP_AUTH_USER']])
    {
        $key = true;
    }


не логичный кусок кода.

Спустя 28 минут, 6 секунд (6.09.2012 - 12:04) argentum88 написал(а):
Этот нелогичный кусок был взят из туториала twin, ссылку на который я предоставил в первом сообщении данной темы

Спустя 2 минуты, 52 секунды (6.09.2012 - 12:07) Игорь_Vasinsky написал(а):
аа. огляделся
if(isset($admins[$_SERVER['PHP_AUTH_USER']])

2 разные скобки laugh.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.