Вопрос

Хорошо, я не использую переменные сеанса, а мой код выглядит так:

if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="Enter your Twitter username and password:"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Please enter your Twitter username and password to view your followers.';
    exit();
}

$username = $_SERVER['PHP_AUTH_USER'];
$password = $_SERVER['PHP_AUTH_PW']; 

Итак, мой вопрос: как я могу уничтожить этот сеанс входа в систему, когда пользователь хочет выйти из своих (в данном случае) учетных данных для входа в Twitter?

Это было полезно?

Решение

Все, что вы можете сделать, это отправить еще один заголовок 401.Браузер обычно «забывает» старое значение, открывает другое диалоговое окно ввода пользователя/пароля, и если пользователи затем нажимают кнопку «Прервать», они «выходят из системы».Два недостатка:

  • Диалоговое окно «прервать вход в систему для выхода из системы» может немного удивить пользователей.
  • «обычно» означает:лучше не зависеть от этого.

редактировать:И уже был дан ответ Выход из HTTP-аутентификации через PHP

Другие советы

Невозможно уничтожить серверную часть входа в систему HTTP-аутентификации.Это один из самых больших недостатков этой формы входа.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top