Orice aplicație cu conturi are o poartă: login-ul. O poartă prost făcută scoate în afară tot ce e înăuntru – datele clienților, comenzile, plățile. Autentificarea corectă nu e „un formular de email + parolă”: e un sistem de decizii de securitate. Iată ce înseamnă, pe înțeles practic.
1. Parolele: stocate ca să nu poată fi furate
Niciodată parole în clar în baza de date. Se salvează doar un „hash” – o amprentă ireversibilă – generat cu algoritmi moderni (bcrypt, argon2) și cu „salt” individual. Dacă baza de date se scurge, atacatorul primește date inutile, nu parole. Dacă cineva îți construiește login fără hash corect, e un semnal roșu imediat.
2. Rate limiting: buzduganul împotriva spargerii
Atacatorii încearcă mii de parole pe secundă. Rate limiting-ul limitează încercările per IP/per cont: după 5-10 eșecuri, cererile se încetinesc sau se opresc. Plus blocare temporară și notificare utilizatorului. Fără asta, orice autentificare e o ușă cu încercări nelimitate.
3. 2FA: al doilea lacăt, mereu util
Verificarea în două etape (cod din aplicație, SMS, key) reduce masiv riscul de conturi furate: chiar și cu parola, atacatorul rămâne în afara. Pentru aplicații cu date sensibile (plăți, admin, date medicale), 2FA nu e opțional – e standard. Pentru restul, oferit ca opțiune serioasă, nu ca funcție ascunsă.
4. Sesiuni: ce se întâmplă după login
După autentificare, aplicația emite o „sesiune” (token). Ea trebuie să expire (minute-ore, nu ani), să fie revocabilă (log out din toate dispozitivele) și să nu stea în locuri expuse. Greșeala clasică: tokenuri care nu expiră niciodată – cheia pierdută devine acces permanent.
5. OAuth și „Login cu Google/Apple”
Autentificarea delegată („continuă cu Google”) mută securitatea parolei către furnizori de încredere: utilizatorii nu îți dau parole, iar tu primești doar identitatea confirmată. E o alegere excelentă ca opțiune, cu grija corectă: datele cerute de la furnizor – niciodată mai mult decât minimul.
Login-ul e investiția în încredere
Un login corect nu se vede, dar o breșă se vede imediat: în presă, în încrederea clienților, în costuri. La aplicațiile web cu autentificare pe care le dezvolt, aceste decizii fac parte din standard: parole corecte, rate limiting, sesiuni sigure, 2FA disponibil. Poarta e solidă de la început.