IE10 dường như xử lý cookie và tên miền phụ khác với các trình duyệt chính khác (IE8, IE9, Firefox, Chrome, Safari).IE10 chia sẻ cookie trên các tên miền phụ theo mặc định
Chúng tôi sử dụng tên miền phụ rộng rãi cho các môi trường kiểm tra, ví dụ:
- user1.devel.example.com
- user2.devel.example.com
- qa.example.com
Và môi trường sản xuất của chúng tôi sống ở đầu, ví dụ example.com (và về mặt kỹ thuật tại www.example.com).
Chúng tôi sử dụng hàm php setcookie($name, $value, $expires)
một cách ngây thơ (không có đường dẫn hoặc miền rõ ràng) để đặt cookie và sau đó xóa cookie (khi người dùng đăng xuất) bằng cách gán chuỗi trống cho giá trị. Điều này luôn hoạt động tốt và mỗi tên miền phụ duy nhất sử dụng cookie của riêng họ.
IE10 hiện tại "chia sẻ" cookie được đặt trong TLD với tất cả các tên miền phụ. Các triệu chứng ban đầu chúng tôi quan sát được là không ai có thể đăng xuất khỏi tên miền phụ. Chúng tôi đã quan sát một vài điều:
- Mặc dù chia sẻ giá trị, không có tên miền phụ nào có thể xóa cookie.
- Khi TLD xóa cookie, nó sẽ bị xóa ngay lập tức khỏi tất cả các tên miền phụ.
Có ai khác đã quan sát hành vi tương tự như cách IE10 lưu trữ/áp dụng cookie liên quan đến tên miền phụ không? Có cách giải quyết nào khác ngoài việc rõ ràng về tên miền mà cookie áp dụng khi gửi tiêu đề Set-Cookie ban đầu không?
Tôi đã gặp phải sự cố với IE10 và cookie. Tôi không biết nếu vấn đề của bạn là như nhau. Xem ở đây để biết thêm thông tin về vấn đề của tôi: http://stackoverflow.com/questions/15856886/ajax-on-ie10-dont-send-cookies – jmcollin92
Hành vi này cũng có trong IE8 và IE9. –