Quản lý session lo việc giữ người dùng đăng nhập qua các request — và làm điều đó an toàn rất quan trọng, vì các lỗ hổng session (hijacking, fixation) cho phép kẻ tấn công mạo danh người dùng. Session an toàn bao gồm xử lý token đúng cách, bảo mật cookie, và quản lý vòng đời.
Session hoạt động ra sao
Sau khi đăng nhập, server giữ một SESSION nhận diện người dùng qua các request:
→ một SESSION ID (hoặc token) được lưu phía client (thường là cookie) và gửi mỗi request
→ server dùng nó để biết người dùng là ai (không cần xác thực lại mỗi lần)
→ session ID/token thực chất là chìa khoá vào tài khoản người dùng → phải được BẢO VỆ.
Bảo mật session
✓ Cờ COOKIE AN TOÀN cho session cookie:
→ HttpOnly → JavaScript không đọc được (chống đánh cắp qua XSS)
→ Secure → chỉ gửi qua HTTPS (không gửi plaintext)
→ SameSite → không gửi trên request cross-site (giảm thiểu CSRF)
✓ Session ID mạnh, NGẪU NHIÊN, không đoán được (không thể đoán ra)
✓ Lưu dữ liệu session phía server (hoặc ký/mã hoá token); truyền chỉ qua HTTPS
