Używam biblioteki flask-login
i nie udało mi się znaleźć żadnych dobrych samouczków ani dokumentacji, w jaki sposób zabezpieczyć użytkownika przed resetowaniem hasła za pomocą wiadomości e-mail. W jakim kierunku/zasobach mogę sprawdzić, jak to zrobić? Dokładne wyszukiwanie google nie ujawniło niczego użytecznego.Resetowanie hasła logowania za pomocą butelki Flask
Odpowiedz
flask-login
nie dbać maili resetowania hasła i innych takich rzeczy . Jest po prostu do zarządzania sesjami i ciasteczkami.
Należy użyć Flask-Security
, która dodaje funkcję resetowania hasła i inne typowe funkcje związane z bezpieczeństwem do kolby. Kolba-Security korzysta z kolbą-login do obsługi sesji, ale dodaje inne funkcje na wierzchu dopełniają funkcje zabezpieczeń:
Email Potwierdzenie
W razie potrzeby można wymagać, aby nowi użytkownicy potwierdzić swój adres e-mail. Flask-Security wyśle wiadomość e-mail do wszystkich nowych użytkowników za pomocą linku potwierdzającego . Po przejściu do łącza potwierdzającego, użytkownik zostanie automatycznie zalogowany.Istnieje również możliwość ponownego wysłania linku potwierdzającego o treści do podanego e-maila, jeśli użytkownik spróbuje użyć wygasłego tokenu lub utracił poprzedni e-mail. Łącza do potwierdzeń można skonfigurować tak, aby wygasały po określonym czasie.
Password Reset/Odzyskiwanie
zresetowany i odzyskiwania hasła jest dostępna, gdy użytkownik zapomni swojego lub jej hasło. Flask-Security wysyła wiadomość e-mail do użytkownika z linkiem do widoku, w którym może zresetować swoje hasło. Po wprowadzeniu hasła zostaną one automatycznie zalogowane i od tego momentu będą mogły używać nowego hasła . Linki do resetowania hasła mogą zostać skonfigurowane tak, aby wygasały po określonym czasie w postaci .
użytkownika Rejestracja
Kolba-Security jest dostarczana z podstawowym widoku rejestracji użytkownika. Ten widok jest bardzo prosty, a nowi użytkownicy potrzebują tylko adresu e-mail i adresu e-mail . Ten widok może być nadpisany [sic], jeśli proces rejestracji wymaga więcej pól.
logika Podstawa:
- Tworzenie formularza resetowania hasła z
email
dziedzinie. - Kiedy użytkownik złożyć formularz następnie należy:
- sprawdzić ten e-mail w bazie
- generować undistinguished krypto losowy klucz tajny (obok właśnie tajny klucz)
- sklep ten przycisk, aktualny znacznik czasu i identyfikator użytkownika do pamięci podręcznej lub baza
- wysłać go do wiadomości e-mail użytkownika lub sms
- Kiedy użytkownik stosuje tajny klucz (na przykład z adresu URL lub specjalnym formularzu) należy:
- zatwierdź go (istnieją, nie wygasł, nie wykorzystywane wcześniej)
- get identyfikator użytkownika
- usuwać lub znak używany jako aktualny tajny klucz
- dostarczyć logiki wejść/wygenerować nowe hasło.
logicznych wejść/wygenerować hasło mogą być różne:
- użytkownika i pokazać formularz wpisać nowe hasło - jeden raz logowania klucz formularz
- pokaz, aby wprowadzić hasło niż logowania, jeśli ważne
- wygenerować nowe hasło i wysłać je do użytkownika e-mail
- wygenerować nowy tajny klucz do formularza, aby wprowadzić nowe hasło i wysłać go do użytkownika e-mail
- wygenerowania nowego klucza tajnego zatwierdzić formularz, wysłać go za pośrednictwem wiadomości SMS, show formularza, aby wprowadzić nowe hasło i zatwierdzenie tajny klucz następnie zalogować jeśli ważny
Świetna odpowiedź. Korzystanie z systemu Flask-Security ułatwiło życie, ponieważ nie musiałem pisać niczego od podstaw, ale ta metodologia jest zdecydowanie przydatna. –
- 1. Resetowanie hasła ASP.NET - problemy bezpieczeństwa?
- 2. Uproszczenie logowania w Flask
- 3. Rejestracja użytkownika Django - Resetowanie hasła za pośrednictwem poczty elektronicznej
- 4. Wdrażanie logowania społecznościowego w Flask
- 5. Resetowanie hasła do bazy danych Azure
- 6. Bezpieczny sposób na pobieranie/resetowanie hasła?
- 7. Resetowanie hasła Django. Nie wysyłam poczty
- 8. ember-simple-auth Aktualizacja i resetowanie hasła
- 9. jak zdobyć tekst na żądanie za pomocą butelki?
- 10. Resetowanie podstawowych poświadczeń uwierzytelniających za pomocą AFNetworking
- 11. Jak zaimplementować resetowanie hasła za pomocą ASP.NET Identity dla ASP.NET MVC 5.0?
- 12. Jak chronić Flask-RESTful za pomocą zarządzania Flask-USER?
- 13. Dlaczego metoda logowania Flask używa "GET"?
- 14. Flask: limit czasu sesji logowania zbyt wcześnie
- 15. Sprawdź ciasteczko za pomocą Python Flask
- 16. Jak debugować Flask za pomocą PyDev?
- 17. Testowanie sprawdzania poprawności hasła za pomocą RSpec
- 18. Jak wymusić zmianę hasła za pomocą FOSUserBundle?
- 19. Jak szyfrować hasła za pomocą PostgreSQL?
- 20. Jak skryptować zmianę hasła dla logowania do serwera SQL?
- 21. Strona logowania za pomocą Django tworzy
- 22. Jak wysłać formularz logowania za pomocą jsoup?
- 23. Za pomocą przycisku logowania Google reagować 2
- 24. Jak przechwycić błędy logowania za pomocą PySVN?
- 25. Jak zezwolić użytkownikowi na resetowanie hasła w pulach użytkowników Cognito?
- 26. Wydajność i szyjka butelki Zend_Search_Lucene?
- 27. Sprawdzanie poprawności logowania za pomocą Angular Js i JSP
- 28. Wyjaśnienie funkcji resetowania hasła opartej na tokenie w Flask-Security
- 29. Szyjka butelki na operację SORT
- 30. Jak umieścić na stronie formularz logowania Flask-Security?
Osiąga to, co chciałem, dzięki. –