Nghị định 13/2023/NĐ-CP của Việt Nam về bảo vệ dữ liệu cá nhân yêu cầu phải có sự đồng ý của chủ thể dữ liệu trước khi xử lý dữ liệu cá nhân, và định nghĩa dữ liệu cá nhân khá rộng — bao gồm cả các định danh có thể dùng để suy ra hành vi hoặc sở thích của một người, như ID lưu trong cookie quảng cáo. Khác với GDPR của châu Âu vốn đã được thực thi nhiều năm với án phạt cụ thể, Nghị định 13 còn khá mới nên nhiều doanh nghiệp Việt vẫn đang trong quá trình điều chỉnh quy trình thu thập cookie cho phù hợp.
Thuộc tính Secure
Thuộc tính Secure yêu cầu trình duyệt chỉ gửi cookie qua kết nối HTTPS đã mã hóa. Nếu không có nó, cookie có thể được gửi ở dạng văn bản thuần túy qua HTTP — rủi ro thực sự trên các mạng Wi-Fi công cộng như ở quán cà phê.
Thuộc tính HttpOnly
Một cookie được đánh dấu HttpOnly không thể đọc được từ JavaScript (document.cookie). Đây là biện pháp phòng thủ trực tiếp nhất chống đánh cắp phiên qua tấn công XSS: dù kẻ tấn công chèn được mã độc vào trang, chúng vẫn không thể truy cập cookie phiên có thuộc tính này.
Thuộc tính SameSite
Thuộc tính SameSite giới hạn việc cookie có được gửi khi điều hướng liên trang hay không, và là biện pháp phòng thủ chính chống lại tấn công CSRF. Strict chặn hoàn toàn việc gửi liên trang, Lax — giá trị mặc định trên mọi trình duyệt hiện đại — cho phép trong trường hợp như theo một liên kết, còn None gỡ bỏ hạn chế đó nhưng bắt buộc phải có thêm thuộc tính Secure.
Vì sao cần điều này
- Cấu hình một cookie phiên an toàn cho ứng dụng web của riêng bạn — trong Laravel, framework rất phổ biến với lập trình viên PHP Việt Nam, các thuộc tính này được khai báo trực tiếp trong
config/session.php. - Kiểm tra site thực sự đang tải những cookie bên thứ ba nào trước khi soạn chính sách theo Nghị định 13.
- Chẩn đoán vì sao một cookie không được lưu trữ hoặc gửi bởi trình duyệt trong một số tình huống nhất định.
Thuộc tính Partitioned và tương lai không cần cookie bên thứ ba
Là một phần của sáng kiến CHIPS (Cookies Having Independent Partitioned State), thuộc tính Partitioned cho phép một trang web được nhúng trong <iframe> có phiên bản cookie khác nhau cho từng trang cha lưu trữ nó, thay vì một cookie duy nhất được chia sẻ giữa tất cả. Đây là sự thỏa hiệp giữa việc chặn hoàn toàn cookie bên thứ ba — vốn phá vỡ các widget hợp pháp như thanh toán hay chat — và mô hình theo dõi liên trang cũ, nơi một cookie quảng cáo duy nhất có thể theo dõi người dùng trên toàn bộ web.