Un API REST securizat în 2026 implementează autentificare (JWT sau OAuth 2.0), autorizare granulară, rate limiting, validare strictă a inputului și logging complet al requesturilor. OWASP API Security Top 10 documentează că 75% din breaches API sunt cauzate de probleme evitabile: autorizare broken, expunere date excesivă și injecții. Securitatea se construiește din prima zi, nu se adaugă ulterior.
OWASP API Security Top 10 în 2026
- 1. Broken Object Level Authorization — user A accesează datele lui user B
- 2. Broken Authentication — token-uri slabe, fără expirare
- 3. Broken Object Property Authorization — câmpuri sensibile expuse în response
- 4. Unrestricted Resource Consumption — fără rate limiting = DDoS facil
- 5. Broken Function Level Authorization — endpoint admin accesibil fără rol
- 6. Unrestricted Access to Sensitive Business Flows — abuz de funcționalități (scraping, spam)
- 7. Server Side Request Forgery (SSRF)
- 8. Security Misconfiguration
- 9. Improper Inventory Management — API versiuni vechi neprotejate
- 10. Unsafe Consumption of APIs — date nevalidate de la API-uri terțe
Checklist securitate API REST 2026
Autentificare
- JWT cu expirare scurtă (15-60 min) + refresh token rotit
- OAuth 2.0 cu PKCE pentru aplicații publice (mobile, SPA)
- API Keys cu hash în baza de date (nu stocate plaintext)
Autorizare
- Verificare permisiuni la nivel de resursă (nu doar rol)
- Principiul least privilege — fiecare token are scope minim
Input Validation
- Validare strictă: tip, lungime, format, valori permise
- Sanitizare înainte de query SQL (ORM previne injection)
- Reject orice câmp neașteptat (whitelist fields)
Rate Limiting
- Limită per IP și per user (ex: 100 req/min)
- Exponential backoff la login failed
- Cloudflare sau nginx rate limiting ca prim layer
Întrebări frecvente
JWT sau sessions pentru un API REST?
JWT pentru API-uri stateless consumate de mobile/SPA. Sessions pentru aplicații web tradiționale cu server-side rendering.
Cum previi SQL Injection într-un API?
Folosind ORM (Prisma, Eloquent, SQLAlchemy) sau prepared statements. Niciodată string concatenation în query-uri SQL.
Webzardio face audit de securitate API?
Da — audit OWASP, penetration testing și remediere. Recomandat pentru orice API cu date sensibile sau plăți.