ďťż

[MySQL+PHP] przypomnienie hasła

       

Podstrony


telcocafe

Witam mam na stronie logowanie, chcialbym do niego dodać skrypt umożliwiający po podaniu adresu email wysłanie hasła oraz loginu na skrzynke pocztowa

oto co mam

Tabele

CREATE TABLE `fbw_useradmin` (
`login` char(50) NOT NULL default '',
`pass` char(32) NOT NULL default '',
`email` char(100) NOT NULL default '',
`activate_code` char(10) NOT NULL default '',
`permissions` char(1) NOT NULL default '',
PRIMARY KEY (`login`)
) ENGINE=MyISAM DEFAULT CHARSET=latin2;

Mam nadzieje ze to co podalem wystaczy

Haslo w bazie jest szyfrowane algorytmem md5

Wie ktoś jak napisać taki skrypcik?? Z góry dzieki



jak masz md5 to musisz resetować hasło, generować nowe, zapisać i wysłać je użytkownikowi

no ewentualnie moze byc tak ze podaje sie login i haslo i na email przchodzi link do zmiany hasla, ale dla bezpieczensta (zeby ktos na umyslnie nie zmienial hasla komus) to haslo zostanie zmienione wtedy tylko jak ktos kliknie na ten link jak nie to zostaje przy starym hasle i zeby dla porzadku link byl wazny ok 24 h

ma ktos taki skrypcik??? bylbym wdzieczny


no ewentualnie moze byc tak ze podaje sie login i haslo i na email przchodzi link do zmiany hasla, ale dla bezpieczensta (zeby ktos na umyslnie nie zmienial hasla komus) to haslo zostanie zmienione wtedy tylko jak ktos kliknie na ten link jak nie to zostaje przy starym hasle i zeby dla porzadku link byl wazny ok 24 h

ma ktos taki skrypcik??? bylbym wdzieczny

w czym problem?
gostek podaje mailan astronie > w bazie sprawdza skrypt czy jest taki mail > jesli nie ma wywala errora / jesli jest zapisuje do oddzielnej bazywygenerowany unikatowy kod np bla997 nick np bikstopa oraz nie zakodowane haslo do > do usera wysyla link w formie twojastrona.pl/?login=bikstopa&specjalnykod=bla997
potm sprawdza w bazie czy kod z nickiem sie sprawdza, jesli nie, wywala errora jesli tak to wysyla nowe haslo na maila, koduje haslo w md5 i nadpiuje go w bazie tam gdzie masz userow, i usuwa nick z tabeli tymczasowej.

skrypciku gotowego nie ma ;]
Użytkownik bikstopa edytował ten post 17 grudzień 2006, 03:09


Do powyższych podpowiedzi użyj jeszcze phpmailer i skrypt masz gotowy.

Witam zrobilem juz skrypcik co podaje sie login i email i jak sie zgadzaja to wyswietla komunikat ze nowe haslo zzostalo wyslane:) mam tez wysylanie emaila tylko nie wiem jak zrobic reszte

Skoro wysyła już zmienione hasło na maila to czego chcesz jeszcze ?
Oczywiście zmienione hasło musisz zapisać w bazie (skoro już wybrałeś takie rozwiązanie) przy wysyłaniu maila.

NIe mam mianowicie tego

zapisuje do oddzielnej bazywygenerowany unikatowy kod np bla997 nick np bikstopa oraz nie zakodowane haslo do >

(...)
potm sprawdza w bazie czy kod z nickiem sie sprawdza, jesli nie, wywala errora jesli tak to wysyla nowe haslo na maila, koduje haslo w md5 i nadpiuje go w bazie tam gdzie masz userow, i usuwa nick z tabeli tymczasowej.

Mam tez inny pomysl, ale nie wiem czy jest bezpieczny

mianowicie jak wysyla link typu
twojastrona.pl/?login=bikstopa&specjalnykod=bla997

i skrypt sprawdza login z specjalnym kodem jesli sie zgadzaja to otwiera sie formularz z zmianem kodu na stronie www i wtedy dana osoba wpisuje kod i zapisuje w bazie
Użytkownik johnny86 edytował ten post 17 grudzień 2006, 22:26
Hmm, to pierwsze jest dobre i drugie podobne, tylko że przesyła unikatowy kod (niech to nie będzie hasło) i wtedy zmiana hasła. Imho drugi sposób mniej skomplikowany :-)

Najprostsza sprawa.
tabela uzytkownicy:
user_id
user_login
user_pass
tabela zmiana_hasla:
zm_id
zm_user_id
zm_kod_aktywacyjny
zm_haslo

Użytkownik zmienia haslo dane zapisuja sie do tabeli zmiana_hasla generujesz kod aktywacyjny i zapisujesz razem z haslem zaszyfrowanym juz za pomoca md5 wysylasz email z linkiem aktywujacym nowe haslo ktore podal uzytkownik w formularzu jesli potwierdzi dane sa aktualizowane
$sql = "UPDATE uzytkownicy SET user_pass='".$row['zm_haslo']."' WHERE user_id='".$row['zm_user_id']."'";

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.