|
|
|
| А не подскажите как сделать кнопку выхода из авторизации HTTP-BASIC?
Вот сам скрипт http://www.softtime.ru/info/authorization.php | |
|
|
|
|
|
|
|
для: TrollFess
(04.06.2007 в 20:31)
| | Неужели никто не знает? Просто я не знаю как на HTTP делать выход, подскажите а? | |
|
|
|
|
|
|
|
для: TrollFess
(04.06.2007 в 22:13)
| | Единственный выход - закрыть браузер :-) | |
|
|
|
|
|
|
|
для: mesos
(05.06.2007 в 08:57)
| | Будем ждать что на это скажет всеми любимый cheops, так как мне тоже интересно. | |
|
|
|
|
|
|
|
для: TrollFess
(04.06.2007 в 22:13)
| | Вот эти самые строки
Header("WWW-Authenticate: Basic realm=\"Admin Page\"");
Header("HTTP/1.0 401 Unauthorized");
|
сбрасывают аутентифицирующий токен браузера, так что клиенту снова выводится окно запроса логина. Собственно, это состояние окна браузера и можно обозначить как "пользователь уже вышел" или "пользователь еще не вошел" (что в терминах http-аутентификации - одно и то же). Средств сбросить токен не только для текущего, но и для остальных окон - нет. Можно лишь посоветовать пользователю закрыть все окна. | |
|
|
|
|
|
|
|
для: Trianon
(05.06.2007 в 11:50)
| | Средств сбросить токен не только для текущего, но и для остальных окон
А с помощью яваскипт это никак нельзя провернуть? | |
|
|
|
|
|
|
|
для: 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'] == 1 && $_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 с сервера очищают кеш аутентификации.
Думаю, это то что нужно. | |
|
|
|
|
|
|
|
для: mesos
(05.06.2007 в 14:02)
| | О! Спасибо всем большое! | |
|
|
|
|
|
|
|
для: mesos
(05.06.2007 в 14:02)
| | JavaScript не имеет доступа к кешу аутентификации из соображений безопасности.
Я не имею ввиду напрямую. Просто Ява скрипт отсылает в дочернее или родительское окно инструкцию запустить на сервере код (типа нажатие Логаут, и обновляет страницу). Если можно сделать для одного окна, то почему нельзя передать данные в другое окно и сделать то же самое? Вопрос чисто теоритический, я не думаю что буду так когда-нибудь делать. | |
|
|
|