2010-06-21 20 views
33

Tôi chỉ đơn giản là không thể tin rằng điều này là khá khó khăn để xác định.Có thể subdomain.example.com đặt cookie có thể được đọc bởi example.com không?

Ngay cả khi đã đọc RFC, điều đó không rõ ràng đối với tôi nếu máy chủ tại subdomain.example.com có ​​thể đặt cookie có thể được đọc bởi example.com.

subdomain.example.com có ​​thể đặt cookie có thuộc tính Miền là .example.com. RFC 2965 dường như tuyên bố rõ ràng rằng một cookie như vậy sẽ không được gửi đến example.com, nhưng sau đó đều nói rằng nếu bạn đặt Domain = example.com, một dấu chấm được thêm vào trước, như thể bạn đã nói .example.com. Kết hợp với nhau, điều này dường như nói rằng nếu example.com trả về đặt cookie với Domain = example.com, nó sẽ không lấy lại cookie đó! Điều đó không thể đúng.

Có ai có thể làm rõ quy tắc thực sự là gì không?

+0

Thông tin khác: http://stackoverflow.com/questions/108558/cookies-and-subdomains –

Trả lời

38

Có.

Nếu bạn đảm bảo chỉ định rằng tên miền là .example.com, thì * .example.com và example.com có ​​thể truy cập.

Đó là hiệu trưởng cho phép các trang web phát hành cookie khi ai đó truy cập www.website.com để truy cập cookie khi ai đó rời khỏi www, truy cập website.com.

EDIT: Từ tài liệu PHP về cookie:

miền Tên miền rằng cookie là sẵn. Để làm cho cookie khả dụng trên tất cả các tên miền phụ của example.com thì bạn sẽ đặt nó thành '.example.com'. Các . không được yêu cầu nhưng làm cho nó tương thích với nhiều trình duyệt hơn . Đặt nó thành www.example.com sẽ làm cho cookie chỉ khả dụng trong tên miền phụ www. Tham khảo kết hợp đuôi trong »spec để biết chi tiết. http://php.net/manual/en/function.setcookie.php

Và nó không phải là duy nhất cho PHP.

+0

-1 Đó được gọi là chuyển hướng 301 và không phản ánh chính xác câu hỏi đang hỏi. –

+20

Evan, nếu bạn truy cập http://www.worldbreathday.org/, sau đó truy cập http://worldbreathday.org/, bạn sẽ thấy không có chuyển hướng; nhưng hai trang web đó vẫn có thể chia sẻ cookie với nhau. Đó là một hiện tượng nổi tiếng, hãy tìm kiếm nó :) –

+14

+1 để chống lại -1 từ Evan không biết gì – Eloff

Các vấn đề liên quan