Bạn có chắc chắn muốn xóa bài viết này không ?
Bạn có chắc chắn muốn xóa bình luận này không ?
Cookie có phân biệt theo port?
Mình gặp vấn đề trong phát triển web là: cho một user đăng nhập trên một hệ thống có thể sử dụng được dịch vụ của một hệ thống web khác. 2 hệ thống này cùng domain nên mình biết là chúng chia sẻ cùng cookie (giống như các dịch vụ của google chia sẻ cùng 1 cookie). Tuy vậy trên môi trường phát triển, mình phải kiểm tra 2 dịch vụ bằng cách cho chúng chạy ở 2 cổng khác nhau, và mình thắc mắc liệu cookie có phân biệt theo số cổng của dịch vụ hay không?
Những lúc thế này không cách nào tốt hơn là tra cứu: RFC.
Sau khi search thử RFC thì thấy RFC số 6265 nói về "HTTP State management Mechanism" có đề cập đến trường hợp này.
Cụ thể ở mục 8, trang số 29, mục 8.5 có nói về các vấn đề liên quan đến an toàn thông tin của cookie có đề cập 1 ý như sau:
8.5. Weak Confidentiality
Cookies do not provide isolation by port. If a cookie is readable by
a service running on one port, the cookie is also readable by a
service running on another port of the same server. If a cookie is
writable by a service on one port, the cookie is also writable by a
service running on another port of the same server. For this reason,
servers SHOULD NOT both run mutually distrusting services on
different ports of the same host and use cookies to store security-
sensitive information.
Nếu cookie có thể được đọc ghi bằng 1 dịch vụ trên một cổng, cookie đó cũng có thể được đọc ghi trên 1 dịch vụ của một cổng khác cùng máy chủ. Nghĩa là: cùng một domain thì cookie sẽ được chia sẻ. Ý trên cũng chỉ ra một điểm trong thiết kế hệ thống là ta không nên chạy dịch vụ không tin tưởng trên cùng 1 host và lưu thông tin nhạy cảm trong cookie.
Trả lời cho câu hỏi trong tựa đề:
Q: Cookie có phân biệt theo port?
A: Không.
Còn khá nhiều các chi tiết nữa về cookie được đề cập trong RFC 6265, các bạn xem thêm để biết thêm chi tiết nhé.







