Firefox быстро забывает HTTP Basic Auth


87

Как я могу сделать Firefox «недействительным», он сохранил учетные данные HTTP Basic Auth для веб-сайта со стороны клиента?

В настоящее время я должен перезапустить браузер, который является довольно громоздким с несколькими открытыми вкладками.

Есть ли способ сделать это без перезапуска Firefox / очистить кеш / и т.д.

Ответы:


75

Вы можете выбрать « Очистить недавнюю историю» из меню « История» ( Ctrl+ Shift+ Del, Mac: Cmd ⌘+ Shift+ Del). Затем вы можете выбрать, чтобы просто очистить активные логины от деталей, чтобы просто очистить эти сеансы.

В более старых версиях Firefox (например, FF3) « Очистить недавнюю историю» находится в меню « Инструменты» . Ярлык тот же.


7
В текущем Firefox эта опция меню есть в Historyменю, а не Tools. Я подтвердил это с помощью Firefox 29.0.1.
Мэй

работает над firefox thanx
themhz

63

Если вы измените имя пользователя и пароль из исходного сеанса на тот, который не будет проходить аутентификацию, Firefox уничтожит все ссылки на старую аутентификацию и попытается создать новую.

Вы можете изменить / установить аутентификацию, добавив user: pass @ в начало URL, например: http: // user: pass@www.example.com/

Если вы вошли на сайт www.example.com с пользователем: pass, то после ввода (добавление в начало адреса) что-нибудь @ приведет к этому, например: http: //abc@www.example.com/

Быстрое исправление, которое не требует никаких плагинов.

Обратите внимание, что это работает только для HTTP Basic Auth.

Дополнительным дополнительным преимуществом является то, что это повлияет только на веб-сайт, с которым вы взаимодействуете. Все остальные логины на любой другой сайт останутся активными.


7
Это потрясающий ответ. Простой, простой в использовании, не требует дополнительного программного обеспечения, и умный, неочевидный способ.
wfaulk

3
Кстати, это должно работать и с большинством других браузеров, включая Chrome и Internet Explorer (IE)
Дрю Андерсон,

@DrewAnderson в прошлый раз, когда я проверял, только firefox поддерживал пользователя: обозначение pass @ в строке URL.
masterxilo

10

Панель инструментов веб-разработчика позволяет сбросить аутентификацию HTTP в течение сеанса браузера.

В контекстном меню Firefox выберите «Веб-разработчик» -> «Разное» -> «Очистить личные данные» -> HTTP-аутентификация.


1
Не могу найти это на текущем Firefox
Scolytus

2
К сожалению, эта функция, кажется, исчезла в какой-то момент, так как я опубликовал этот ответ.
boot13

1
Только что проверил, работает! Обратите внимание: это не входит в состав встроенных инструментов разработки Firefox, вам необходимо установить связанное дополнение.
Диего V

2

веб-сайт не может предложить вариант выхода из системы

Это не верно. Веб-сайт предлагает несколько вариантов выхода из системы.

1) Ссылка на выход из системы будет указывать на URL-адрес в том же домене, содержащий учетные данные, которые намеренно неверны

2) Ссылка на выход из системы вызовет JavaScript со следующим фрагментом кода (только для Microsoft Internet Explorer):

<script>document.execCommand('ClearAuthenticationCache', 'false');</script>

3
Кажется, нет способа надежно аннулировать учетные данные, которые ведут себя согласованно при просмотре и не отображают нежелательное поле входа в систему.
Майкл

Ссылка на выход из системы с использованием неверных учетных данных уже описана в другом ответе
Дмитрий Григорьев,

2

Сделайте запрос из частного окна.

В Firefox: File - New Private Window(Ubuntu Ctrl+Shift+P)
В Chrome New incognito Window(Ubuntu Ctrl+Shift+N)


0

Не уверен, поможет ли это кому-нибудь еще, но в моем случае я подумал, что это плохой пароль, который хранит firefox, когда я не могу получить доступ к сайту с базовой HTTP-аутентификацией. Но оказывается, что сайт на самом деле использовал NTLMv1 (Windows-версия базовой http-аутентификации), которую Firefox теперь отключил по умолчанию, начиная с версии 30.

Чтобы включить, перейдите в about: config и установите для параметра pref network.negotiate-auth.allow-insecure-ntlm-v1 значение True.

Firefox не запрашивает пароль для сайтов, прошедших проверку подлинности http. Как это сделать?


-2

Ну, я истекаю PHPSESSIONID клиента. По истечении этого срока он будет удален из браузера клиента. Второй шаг (который я не выяснил) будет состоять в том, чтобы удалить cookie-файл сеанса на стороне сервера, который удалит состояние аутентификации на сервере до истечения времени ожидания и не даст серверу сгенерировать новый phpsessionid, когда он увидит это. клиент без куки.

    <script type="text/javascript">
        document.cookie = "PHPSESSID=;Path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;";     
    </script>

Базовая аутентификация HTTP не подразумевает ни сеанса на сервере, ни файла cookie. Кроме того, даже если это так, ваше решение не будет работать почти во всех случаях, поскольку в настоящее время почти все сеансовые файлы cookie помечены как secureзапрещающие доступ к ним в javascript.
NuTTyX

ну, когда я смотрю на куки, он берет cookie из браузера Firefox, но это еще не все. когда я очищаю кэш Bowser и удаляю активные логины, то когда я возвращаюсь в каталог на веб-сайте, я получаю диалоговое окно http auth. Интересно, есть ли глобальная команда, которая сбросит свой активный логин из браузера. Если нет, то должно быть.
drtechno

Плохо, я имел в виду флаг «только для http», который запрещает javascript программный доступ к данным внутри cookie. Что касается самого исходного вопроса, я наткнулся на способ, который заставил бы некоторые браузеры забыть, но в некоторых случаях (например, в IE) они сделали его непригодным по соображениям безопасности: если вы вводите URL с префиксом несуществующего пользователя и пароля, они будут «перезаписывать» ваш предыдущий логин : logoff: nopasswd@www.site.com
NuTTyX

-4

Самый простой способ - выйти с сайта, а не просто закрыть вкладку. Если это не вариант, и вы заранее знаете, что будете посещать сайт, который вы хотите забыть, вы можете установить Sandboxie и запустить Firefox (или любой другой браузер) в песочнице. Удалите содержимое песочницы, когда все сделано, и все, что вы сделали, ушли.


12
HTTP-аутентификация - это особый тип HTTP-заголовка, который заставляет ваш веб-браузер запрашивать у вас имя пользователя и пароль, а затем повторно отправлять его автоматически, когда это необходимо. Когда веб-сайт использует этот тип аутентификации, он не может предложить вариант выхода из системы . В большинстве браузеров вы должны закрыть браузер, чтобы он забыл вашу регистрационную информацию.
Bavi_H

@Bavi_H: я слышал, что некоторые браузеры забудут о существующих сеансах, если сайт отправит HTTP 401 при
входе

1
Простая очистка файлов cookie сайта не делает недействительными сохраненные имя пользователя и пароль для базовой аутентификации.
Петр Гладких
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.