aika Posted November 5, 2008 Report Share Posted November 5, 2008 Situācija sekojoša: vajag apstrādāt paroles aizmiršanas/nomešanas mehānismu! Patlaban ir situācija kad pēc pieprasījuma uz e-mailu tik nosūtīta jauna parole. Mehānisms suxīgs - jo iespējama ļaunprātība! Ko es gribētu izveidot: pēc pieprasījuma uz meilu tik nosūtīta unikāla saite, kuru aktivizējot tikai tiek nomainīta parole! Diemžēl neredzu iespēju kā to paveikt bez datubāzes iedarbināšanas (fiksējam pieprasījumu, ģenerējam unikālu id, ierakstam, pēc pieprasījuma salīdzinām un sūtam jaunu paroli!) Vai ir citi mehānismi? Idejas?! Link to comment Share on other sites More sharing options...
andrisp Posted November 5, 2008 Report Share Posted November 5, 2008 Nu var jau glabāt arī citur (flat file datubāzes) tos pieprasījumus. Link to comment Share on other sites More sharing options...
Delfins Posted November 5, 2008 Report Share Posted November 5, 2008 un kur iepriekš paroles glabājās? :D Glabā līdzīgi, nekāda rakešzinātne. Link to comment Share on other sites More sharing options...
Aleksejs Posted November 5, 2008 Report Share Posted November 5, 2008 Viens variants, kā neiedarbināt DB: Datu šifrēšanai izmantojam kodā iešūtu slepenu virkni: K Datu integritātes pārbaudei izmantojam kodā iešūtu slepenu virkni: X Lietotāja id (vai login): U Uzģenerējam jauno paroli: P Uzģenerējam datum-laiku, līdz kuram derīgs: T Izmantojam šifrēšanas funkciju: mcrypt_encrypt() - EK(M); Izmantojam hashoshanas funkciju: hash_hmac() - HX(M); Uz e-pastu sūtam virkni: EK(P & T & U & HX(P & T & U)) un P (lai cilvēks varētu zināt, uz ko tad nomainīta parole) Pie saņemšanas atšifrējam (ja, neizdodas atšifrēt, tātad nav derīgs) un dabūjam P' T' U' un H' Pārbaudam vai T' ir pieļaujamās robežās; Pārbaudam, vai eksistē tāds lietotājs U' Pārbaudam, vai HX(P' & T' & U') == H' Nomainam lietotājam U' paroli uz P' Patiesībā varēja arī neģenerēt paroli, bet pie hashu sakrišanas ļaut ievadīt brīvi izvēlētu paroli. Link to comment Share on other sites More sharing options...
aika Posted November 5, 2008 Author Report Share Posted November 5, 2008 Lūdzu nevajag taisīt bezjēdzīgas QUOTEs o! Vot to es saprotu! :) Link to comment Share on other sites More sharing options...
Aleksejs Posted November 5, 2008 Report Share Posted November 5, 2008 Vēl papildus visam var uzģenerēt aktivizēšanas kodu: C Kurš tiek izmantots šifrēšanas atslēgas ģenerēšanā. To parāda lietotājam kopā ar paziņojumu, ka pieprasījums aizsūtīts uz e-pastu, taču uz e-pastu nesūta. Līdz ar to izmantojam nevis K, bet gan HK© Līdz ar to, pieprasam ievadīt arī šo C, pie saņemta URL. Link to comment Share on other sites More sharing options...
Aleksejs Posted November 6, 2008 Report Share Posted November 6, 2008 Vēl papildinot: šifrēšanai būtu jāizvēlas CBC režīms. Link to comment Share on other sites More sharing options...
Recommended Posts