Firefox швидко забуває HTTP Basic Auth


87

Як я можу змусити Firefox "визнати недійсним" збережені облікові дані HTTP Basic Auth для веб-сайту з боку клієнта?

На даний момент мені доведеться перезапустити браузер, який досить громіздкий з відкриттям декількох вкладок.

Чи є спосіб зробити це без необхідності перезапускати Firefox / очистити кеш / тощо.

Відповіді:


75

Ви можете вибрати Очистити недавню історію в меню Історія ( Ctrl+ Shift+ Del, Маки: Cmd ⌘+ Shift+ Del). Потім ви можете просто очистити активні входи з даних, щоб очистити ці сеанси.

У старих версіях Firefox (наприклад, FF3) очищення недавньої історії знаходиться в меню Інструменти . Ярлик такий же.


7
У поточному Firefox ця опція знаходиться в Historyменю, а не Tools. Я перевірив це за допомогою Firefox 29.0.1.
Мей

працює над firefox thanx
themhz

63

Якщо ви зміните ім'я користувача та пароль з початкового сеансу на той, який не буде аутентифікувати, Firefox знищить усі посилання на стару автентифікацію та спробує новий.

Ви можете змінити / встановити автентифікацію, додавши користувача: 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 @ notation в панелі 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 не вимагає ввести пароль для веб-сайтів, що мають автентифікацію, як зробити це підказкою?


-2

Ну, я закінчую термін дії PHPSESSIONID клієнта. Після закінчення терміну дії його буде видалено з клієнтського браузера. Другим кроком (якого я ще не з'ясував) буде видалення файлу cookie сеансу на стороні сервера, який видалить стан автентичності на сервері до того, як він вичерпається, і не дозволить серверу генерувати новий phpsessionid, коли він побачить це клієнт без файлу cookie.

    <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, коли я дивлюся на файли cookie, але є ще більше. коли я очищую кеш-пам'ять і видаляю активні входи, тоді, коли я повертаюся до каталогу на веб-сайті, отримую діалогове вікно 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 під час входу.
grawity

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