Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: HTTP-BASIC
 
 автор: TrollFess   (04.06.2007 в 20:31)   письмо автору
 
 

А не подскажите как сделать кнопку выхода из авторизации HTTP-BASIC?
Вот сам скрипт http://www.softtime.ru/info/authorization.php

   
 
 автор: TrollFess   (04.06.2007 в 22:13)   письмо автору
 
   для: TrollFess   (04.06.2007 в 20:31)
 

Неужели никто не знает? Просто я не знаю как на HTTP делать выход, подскажите а?

   
 
 автор: mesos   (05.06.2007 в 08:57)   письмо автору
 
   для: TrollFess   (04.06.2007 в 22:13)
 

Единственный выход - закрыть браузер :-)

   
 
 автор: mihdan   (05.06.2007 в 10:59)   письмо автору
 
   для: mesos   (05.06.2007 в 08:57)
 

Будем ждать что на это скажет всеми любимый cheops, так как мне тоже интересно.

   
 
 автор: Trianon   (05.06.2007 в 11:50)   письмо автору
 
   для: TrollFess   (04.06.2007 в 22:13)
 

Вот эти самые строки

      Header("WWW-Authenticate: Basic realm=\"Admin Page\""); 
      Header("HTTP/1.0 401 Unauthorized"); 

сбрасывают аутентифицирующий токен браузера, так что клиенту снова выводится окно запроса логина. Собственно, это состояние окна браузера и можно обозначить как "пользователь уже вышел" или "пользователь еще не вошел" (что в терминах http-аутентификации - одно и то же). Средств сбросить токен не только для текущего, но и для остальных окон - нет. Можно лишь посоветовать пользователю закрыть все окна.

   
 
 автор: Valick   (05.06.2007 в 11:57)   письмо автору
 
   для: Trianon   (05.06.2007 в 11:50)
 

Средств сбросить токен не только для текущего, но и для остальных окон
А с помощью яваскипт это никак нельзя провернуть?

   
 
 автор: mesos   (05.06.2007 в 14:02)   письмо автору
 
   для: Valick   (05.06.2007 в 11:57)
 

JavaScript не имеет доступа к кешу аутентификации из соображений безопасности.
Кстати, в мануале по php нашел интересный пример:

<?php
  
function authenticate() {
    
header('WWW-Authenticate: Basic realm="Test Authentication System"');
    
header('HTTP/1.0 401 Unauthorized');
    echo 
"Вы должны ввести корректный логин и пароль для получения доступа к ресурсу \n";
    exit;
  }
 
  if (!isset(
$_SERVER['PHP_AUTH_USER']) ||
      (
$_POST['SeenBefore'] == && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER'])) {
   
authenticate();
  } 
  else {
   echo 
"<p>Добро пожаловать: {$_SERVER['PHP_AUTH_USER']}<br />";
   echo 
"Предыдущий логин: {$_REQUEST['OldAuth']}";
   echo 
"<form action='{$_SERVER['PHP_SELF']}' METHOD='post'>\n";
   echo 
"<input type='hidden' name='SeenBefore' value='1' />\n";
   echo 
"<input type='hidden' name='OldAuth' value='{$_SERVER['PHP_AUTH_USER']}' />\n";
   echo 
"<input type='submit' value='Выйти' />\n";
   echo 
"</form></p>\n";
  }
?> 

Оказывается браузеры (не все) имеют нерегламентированное свойство - при получении заголовка 401 с сервера очищают кеш аутентификации.
Думаю, это то что нужно.

   
 
 автор: TrollFess   (05.06.2007 в 14:35)   письмо автору
 
   для: mesos   (05.06.2007 в 14:02)
 

О! Спасибо всем большое!

   
 
 автор: Valick   (05.06.2007 в 15:18)   письмо автору
 
   для: mesos   (05.06.2007 в 14:02)
 

JavaScript не имеет доступа к кешу аутентификации из соображений безопасности.
Я не имею ввиду напрямую. Просто Ява скрипт отсылает в дочернее или родительское окно инструкцию запустить на сервере код (типа нажатие Логаут, и обновляет страницу). Если можно сделать для одного окна, то почему нельзя передать данные в другое окно и сделать то же самое? Вопрос чисто теоритический, я не думаю что буду так когда-нибудь делать.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования