CSRF (Cross-Site Request Forgery) lợi dụng việc trình duyệt tự động gửi cookie theo mọi request tới một site. Kẻ tấn công dụ user đã đăng nhập truy cập trang độc hại; trang đó âm thầm gửi request tới site nạn nhân (vd form chuyển tiền, đổi email) — request đi kèm cookie phiên hợp lệ nên server tưởng là user thật thực hiện.
Phòng chống (theo OWASP):
- SameSite cookie: đặt SameSite=Lax (mặc định của trình duyệt hiện đại) hoặc Strict → cookie không gửi kèm trong request cross-site. Lớp phòng thủ nền tảng.
- Anti-CSRF token: server sinh token bí mật, khó đoán, gắn vào form/request; server đối chiếu khi nhận. Kiểu synchronizer token hoặc signed double-submit. Site độc hại không đọc/đoán được token.
- Kiểm tra Origin/Referer cho request thay đổi trạng thái.
Điểm quan trọng: API dùng token trong header Authorization (không phải cookie tự gửi) ít bị CSRF hơn, vì trình duyệt không tự đính token vào request cross-site. Ngược lại, xác thực bằng session cookie thì bắt buộc phải có biện pháp chống CSRF.