Có cần thiết phải sử dụng Bảo vệ CSRF khi ứng dụng dựa vào xác thực không trạng thái (sử dụng thứ gì đó như HMAC) không?
Thí dụ:
Chúng tôi đã có một ứng dụng trang duy nhất (nếu không chúng ta phải thêm mã thông báo mỗi liên kết:
<a href="...?token=xyz">...</a>
.Người dùng tự xác thực bằng cách sử dụng
POST /auth
. Khi xác thực thành công, máy chủ sẽ trả về một số mã thông báo.Mã thông báo sẽ được lưu trữ qua JavaScript trong một số biến bên trong ứng dụng trang đơn.
Mã thông báo này sẽ được sử dụng để truy cập các URL bị hạn chế như
/admin
.Mã thông báo sẽ luôn được truyền bên trong Tiêu đề HTTP.
KHÔNG CÓ Phiên Http và KHÔNG CÓ Cookie.
Theo như tôi hiểu, không nên (?!) Không có khả năng sử dụng các cuộc tấn công chéo trang web, bởi vì trình duyệt sẽ không lưu trữ mã thông báo và do đó nó không thể tự động gửi nó đến máy chủ (đó là điều sẽ xảy ra khi sử dụng Cookie / Phiên).
Tui bỏ lỡ điều gì vậy?