Cum de a crea o parolă de resetare a link-ul stivă overflow în limba rusă

Principiul de funcționare este după cum urmează:

  1. Utilizatorul introduce e-mail
  2. primește o scrisoare
  3. Se trece prin referință
  4. Introduce o nouă parolă

Dar eu nu știu cum să protejeze un link, care este trimis prin e-mail, și că, în general poate și trebuie să-l treacă !!

Te rog spune-mi cum să pună în aplicare acest lucru?

In timp ce sa gândit o astfel de opțiune:

Ia-mail, am verifica dacă există o în baza de date. Apoi, de conectare, parola, e-mail să ia într-o singură linie este codificată în MD5 ().

Am trimite un e-mail cu un link: www.sayt.ru getPass = $ str

În continuare, după cum am înțeles, trebuie să creați o bază de date pentru a pune din nou $ str, pentru că atunci când m-am prins? GetPass = $ str. Trebuie să-l compare.

Ei bine, în tabel, respectiv, pentru a specifica data pentru a elimina o astfel de zi, în cazul în care utilizatorul nu a trecut prin referință.

Ei bine, mi-ar face acest lucru, dar aș dori să programatori mai experimentați a sugerat modul în care cele mai bune

Da, ai dreptate, str $ poate fi generat aleator, fac, în general, următoarele: codificat șirul în md5 ()? a creat o bază de date în care este plasată valoarea, iar atunci când utilizatorul trece printr-o legătură codificată, am verificat încrucișat cu baza de date, iar dacă există o potrivire, forma remarcabilă pentru a umple o parolă nouă.

Mi-ar crea o placă separată sau intrări suplimentare.

De exemplu, placa Pass_recovery cu câmpurile user_id, access_hash, expiră.

user_id - id juzverej (cheie externă)

access_hash - MD5 arbitrară () sau SHA1 () de acces hash, orice, chiar și MD5 (timp ())

expiră - de exemplu o oră din momentul în care cererea de recuperare a parolei

Apoi, tastați în e-mail pentru a trimite link-ul:

Script-ul pentru a recovery_id vom găsi rapid Pass_recovery tabelul de valoare și controalele recovery_id == user_id și recovery_hash == access_hash.

Rapid, așa cum trebuia să fie un index la masa! În cazul în care testul este de succes oferta juzverej introduce parola direct pe site. Apoi, purifica tabelul accessHash.

Răspuns 19 '12 septembrie, la 19:18