Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Jak zrobic by user zmieniał hasło co 30 dni?
Forum PHP.pl > Forum > Przedszkole
woxala123
Witam. Prosze Was o propozycję zarysu jak zrobić by user zmieniał hasło co 30 dni?
kajzur
Noo.. Najprościej - trzymaj w bazie danych datę nastepnego zmienienia hasła. Jeśli data jest późniejsza lub równa z obecną to wyrysuj formularz zmiany hasła. Jak zmieni to zmień datę na aktualna + 30 dni.
woxala123
Czyli można by takie coś zrobić by po dniach stare hasło by sie kasowało i user musiał wprowadzić nowe hasło. Oczywiście hasło stare zapisywało się w kolumnie old_password i dopiero po podaniu starego hasłą oraz dodania nowego hasła user mógłby się zalogować. Czy takie coś jest do zrobienia?
kajzur
Yes.
woxala123
Czyli taki zarys jest prawidłowy. Czy robić to na podstawie interwału dodając 30 dni od daty wprowadzenia hasła?
kajzur
Ja bym pewnie napisał to tak jak napisałem wyżej wink.gif To co napisałeś sprowadza się do tego co ja napisałem w gruncie rzeczy.
woxala123
Włąsnie nie wiem czy prościej by było że hasło wygasa po 30 dniach tzn że się wymazuje a user musi za pomocą walidacji wprowadzić nowe.
goartur
Osobiscie bym sprawdzial kiedy ostatnio bylo zmieniane haslo i dodawal 30 dni.
Po zalogowaniu pokazywalo by sie okno wymuszajace zmiane hasla.
woxala123
Czy masz jakiś podobny przykład by zobaczyć jak to się sprawdza.
goartur
Przykladowo.
Osoba rejestrujaca sie musi podac login i haslo. Dodajesz to do database
Tabela moze wygladac tak:

username(varchar) | password (text) | passChangeDate (DATE NOW())

Wiec przy rejestracji dodajesz username password do bazy a passChangeDate automatycznie ustawi sie na czas kiedy rekord byl dodany.
Przy systemie logowania sprawdzasz czy dane sie zgadzaja pobierasz zawartosc tabelki passChangeDate robisz if() i sprawdzasz czy owy wynik byl dodany wiecej niz 30 dni temu.
Jesli tak, pokazujesz okno zmiany hasla (oczywiscie musisz zadbac ze na kazdej stronie wtedy otrzymasz owe okno) osoba wpisuje 2 razy nowe haslo, updatujesz password, updatujesz passChangeDate = NOW().
I to wszystko smile.gif
woxala123
Okey dzięki na dziś wszystkim. Jutro wypróbuję twój pomysł. Dobranoc.
Ps.
Choć jeszcze parę przykładów się przyda by sobie to jakos fajnie ogrnąć.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.