Pomóż użytkownikom łatwo zmieniać hasła, dodając dobrze znany adres URL do zmiany hasła

Przekieruj żądanie na adres /.well-known/change-password na adres URL zmiany hasła.

Ustaw przekierowanie z /.well-known/change-password na stronę zmiany hasła Twojej witryny. Umożliwi to menedżerom haseł poruszanie się po kontach użytkowników bezpośrednio na tę stronę.

Wprowadzenie

Jak pewnie wiesz, hasła nie są najlepszym sposobem zarządzania kont. Na szczęście pojawiają się nowe technologie, WebAuthn i techniki takie jak hasła jednorazowe, pomagają nam zbliżyć się do świata bez haseł. Jednak te technologie są wciąż wciąż rozwijane i nic szybko się nie zmieni. Wiele deweloperzy będą nadal musieli radzić sobie z hasłami lat. Czekając, aż nowe technologie i techniki staną się jest powszechna, możemy przynajmniej ułatwić korzystanie z haseł.

W tym celu warto zapewnić lepszą obsługę menedżerów haseł.

Na czym polega przydatność menedżera haseł

Menedżery haseł mogą być wbudowane w przeglądarki lub udostępniane jako aplikacje innych firm. Mogą pomagać użytkownikom na różne sposoby:

Autouzupełnianie hasła w prawidłowym polu do wprowadzania danych: niektóre przeglądarki mogą znaleźć że dane wejściowe są generowane heurystycznie, nawet jeśli witryna nie jest do tego zoptymalizowana. cel. Programiści stron internetowych mogą pomóc menedżerom haseł, poprawnie dodając adnotacje HTML do kodu HTML .

Zapobiegaj wyłudzaniu informacji: menedżery haseł pamiętają, gdzie zostało hasło. hasło może być automatycznie uzupełniane tylko pod odpowiednimi adresami URL, a nie witryn wyłudzających informacje.

Generuj silne i unikalne hasła: silne i unikalne hasła. generowane i przechowywane bezpośrednio przez menedżera haseł, użytkownicy nie muszą zapamiętaj tylko jeden znak hasła.

Generowanie i autouzupełnianie haseł za pomocą menedżera haseł z powodzeniem działają w sieci, ale biorąc pod uwagę cykl życia, aktualizując hasła , gdy jest wymagane, jest równie ważne jak generowanie i autouzupełnianie. Do Menedżera haseł dodają nową funkcję:

Wykrywanie luk w zabezpieczeniach i zalecanie ich aktualizacji: menedżery haseł mogą wykrywać ponownie używane hasła, analizować entropię i ich słabość oraz nawet wykrywać potencjalnie ujawnione hasła lub takie, które są znane jako niebezpieczne pochodzące z takich źródeł jak have I Been Pwned.

Menedżer haseł może ostrzegać użytkowników o problematycznych hasłach, ale jest ich za dużo. z prośbą o zmianę hasła na stronie głównej bezpośrednio przez proces zmiany hasła (który różni się w zależności od witryny). Byłoby dużo łatwiej, gdyby menedżerowie haseł mogli przejść bezpośrednio do adresu URL zmiany hasła. W tym miejscu a dobrze znany adres URL do zmiany hasła.

Rezerwując dobrze znaną ścieżkę adresu URL, która przekierowuje użytkownika do zmiany hasła, witryna może łatwo przekierowywać użytkowników do właściwego miejsca zmienić swoje hasła.

Skonfiguruj „dobrze znany adres URL do zmiany haseł”

.well-known/change-password jest proponowanym dobrze znanym adresem URL do zmiany hasła. Wystarczy, że aby skonfigurować serwer tak, aby przekierowywał żądania do .well-known/change-password do adresu URL zmiany hasła w Twojej witrynie.

Załóżmy na przykład, że Twoja witryna to https://example.com, a zmiana URL hasła to https://example.com/settings/password. Musisz tylko ustawić na serwer, aby przekierowywał żądanie https://example.com/.well-known/change-password do https://example.com/settings/password To wszystko. W przypadku przekierowania użyj kod stanu HTTP 302 Found, 303 See Other lub 307 Temporary Redirect.

Możesz też wyświetlać kod HTML pod adresem URL .well-known/change-password za pomocą: tagu <meta> z tagiem http-equiv="refresh".

<meta http-equiv="refresh" content="0;url=https://example.com/settings/password">

Otwórz kod HTML strony zmiany hasła

Ta funkcja ma sprawić, że cykl życia haseł użytkowników będzie bardziej płynny. Możesz zrobić 2 czynności, aby umożliwić użytkownikowi zaktualizowanie hasła bez konieczności: utrudnienia:

  • Jeśli formularz zmiany hasła wymaga podania obecnego hasła, dodaj autocomplete="current-password" do tagu <input>, aby ułatwić hasło i uzupełnij go automatycznie.
  • W przypadku nowego pola hasła (często są to dwa pola, dzięki którym użytkownik wpisał nowe hasło prawidłowo), dodaj autocomplete="new-password" do tagu <input>, aby ułatwić hasło zaproponowanie wygenerowanego hasła.

Więcej informacji znajdziesz w sekcji Korzystanie z formularza logowania .

Wykorzystanie w rzeczywistości

Przykłady

Dzięki przeglądarce Apple Safari wdrożenie, /.well-known/change-password, jest już dostępny na .

Wypróbuj je i zrób to samo ze swoim.

Zgodność z przeglądarką

Dobrze znany adres URL do zmiany haseł jest obsługiwany w Safari od 2019 r. Menedżer haseł Chrome zaczyna go obsługiwać od wersji 86 (która jest zaplanowana na publikację wersji stabilnej pod koniec października 2020 r.) i inne przeglądarki oparte na Chromium. W przeglądarce Firefox jeśli chodzi o wdrażanie, , ale nie poinformował, że zamierza to zrobić w sierpniu 2020 r.

Działanie menedżera haseł w Chrome

Zobaczmy, jak menedżer haseł Chrome traktuje hasła podatne na ataki.

Menedżer haseł Chrome może sprawdzać, czy jakieś hasła nie zostały ujawnione. Nawigacja do about://settings/passwords użytkowników może uruchomić Sprawdzanie haseł haseł i wyświetlić listę haseł zalecanych do zaktualizowania.

Funkcja Sprawdź hasła w Chrome

Klikając przycisk Zmień hasło obok hasła zalecanego do zostanie zaktualizowana, przeglądarka:

  • Otwórz stronę zmiany hasła do witryny, jeśli /.well-known/change-password jest być poprawnie skonfigurowane.
  • Otwórz stronę główną witryny, jeśli usługa /.well-known/change-password nie została skonfigurowana a Google nie zna opcji zastępczej.
Co się stanie, jeśli serwer zwróci wartość 200 OK, nawet jeśli /.well-known/change-password nie istnieje?

Menedżery haseł próbują określić, czy witryna obsługuje dobrze znany adres URL zmień hasła, wysyłając prośbę do /.well-known/change-password przed faktyczne przekierowanie użytkownika na ten adres URL. Jeśli żądanie zwraca 404 Not Found oczywiste jest, że adres URL jest niedostępny, ale odpowiedź 200 OK nie niekoniecznie oznacza, że URL jest dostępny, ponieważ występuje kilka skrajnych przypadków:

  • Strona renderująca po stronie serwera wyświetla komunikat „Nie znaleziono” gdy nie ma treści ale dzięki funkcji 200 OK.
  • Witryna renderująca po stronie serwera odpowiada z użyciem parametru 200 OK, gdy nie ma zapytania po przekierowaniu na stronę „Nie znaleziono” stronę.
  • Aplikacja składająca się z jednej strony odpowiada powłoce z parametrem 200 OK i wyświetla błąd „Not” znaleziono” po stronie klienta, gdy nie ma treści.

W przypadku tych przypadków skrajnych użytkownicy są przekierowywani do folderu „Not Found” (nie znaleziono) stronę, dzięki czemu być źródłem nieporozumień.

Dlatego istnieje proponowany standard, aby określić, czy serwer jest skonfigurowany do odpowiadania z użyciem 404 Not Found gdy faktycznie nie ma żadnej treści, przez żądanie wyświetlenia losowej strony. Właściwie to Adres URL jest również zarezerwowany: /.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200 Na przykład Chrome używa tej ścieżki adresu URL, by określić, czy może oczekiwać prawidłowy adres URL do zmiany hasła z /.well-known/change-password.

Podczas wdrażania /.well-known/change-password upewnij się, że Serwer zwraca 404 Not Found w przypadku każdej nieistniejącej treści.

Prześlij opinię

Jeśli chcesz podzielić się opinią na temat specyfikacji, zgłoś problem zgodnie ze specyfikacją .

Zasoby

Zdjęcie: Matthew Brodeur, Unsplash