dar este mai bine să utilizați agentul de utilizator în loc de sare pentru hash
Întrebarea este formulată în mod interesant =) "Sesiuni de emulare". Teoretic, sesiunea este ca MVC. Este doar o idee. Și în PHP, una dintre implementările sale. Și, departe de a fi perfect, dar 99% potrivite 89% din site-urile din PHP.
În PHP, pe drepturi destul de "legale", puteți implementa propriile dvs. sesiuni us2.php.net/manual/ru/function.session-set-save-ha. folosind funcții native php pentru a lucra cu ele.
1) Fișiere - cel mai lent care poate fi în acest scop. Aproape orice căutare pentru sesiuni (toate sesiunile unui anumit utilizator?) Se sinucide. Cu 1 milion de utilizatori - dubla sinucidere. Deoarece aceasta este o deschidere și analiza a milioane de fișiere. Butonul "închideți celelalte sesiuni" nu merită să faceți când sesiunile sunt pe fișiere.
40 de caractere aleatoare nu sunt reale. Ca bonus - când schimbarea sesiunii de parolă este automat nevalidă, atunci când schimbați browserul la fel.
user-agent și, în special, parolele hash joacă rolul de sare în timpul hashing-ului. Astfel, nu puteți selecta o sesiune de hash pentru tabelele curcubeu.
Linia de jos nu este să notați informațiile confidențiale din baza de date. Dacă cunoașterea ID-ului sesiunii oferă aproape aceleași drepturi ca și cunoașterea parolei, atunci pur și simplu nu scriem ID-ul în baza de date în același mod în care niciodată nu am notat parola. Și asta e tot.
În general, DB este o soluție foarte convenabilă și destul de productivă pentru sesiuni. DB oferă o mulțime de oportunități de lucru cu sesiunile de date.
Apoi, în cookie, trebuie să stocați și ID-ul de utilizator?
În caz contrar, nu vom obține hash-ul parolei.
După părerea mea, dacă există o haldă a DB, sesiunea hash este cea mai mică, despre ce este necesar să vă faceți griji.
Pe de o parte, este clar de ce se face acest lucru, iar pe de altă parte, dacă există acces la baza de date, atunci există o hash a parolei.
Sesiunile în fișiere sunt fu: problemele cu încuietori pot fi (aici am scris despre acest toster.ru/q/54276#answer_198530) + această opțiune nu este scalată. Deși pentru un site mic și opțiunea pe fișiere este destul de bună.
Am trecut mult timp la stocarea unei sesiuni într-o bază de date sql sau nosql.