2012-02-22 15 views
5

Từ sự hiểu biết của tôi $_COOKIE cung cấp cho tôi tất cả cookie trong trình duyệt của người dùng.Làm cách nào để có danh sách cookie trình duyệt bằng PHP?

Nhưng khi tôi làm

var_dump($_COOKIE); 

tôi nhận được như sau:

Array 
    (
     [wp-settings-1] => m8=o&m2=o&m5=o&m4=o&m3=o&m1=o&m7=o&m0=o 
     [wp-settings-time-1] => 1329859655 
     [PHPSESSID] => ST88bLB7PE5S9BbY5oXxLgDIcas 
    ) 

Danh sách này không phù hợp với danh sách tôi thấy trong trình duyệt. Ví dụ: PHPSESSID không có trong danh sách cookie trong trình duyệt của tôi. Tôi có đang truy cập biến sai không?

Cảm ơn.

+0

trong PHP, bạn chỉ có thể thấy cookie được đặt trên tên miền và đường dẫn tập lệnh đang chạy hiện tại của bạn hoặc tên miền/đường dẫn tổ tiên. – Electronick

+1

Bạn có ý nghĩa gì? 'PHPSESSID' là cookie phiên được thêm bởi PHP. – PeeHaa

+0

suy nghĩ về các tác động bảo mật nếu trang web A có thể thấy cookie được đặt bởi trang web B –

Trả lời

3

Như đã đề cập $_COOKIE chỉ cung cấp cho bạn cookie cho tên miền/đường dẫn hiện tại. Bạn không thể thấy tất cả cookie trong trình duyệt. Bạn có thể xem cách thức hoạt động này nếu bạn từng xem/xem các gói HTTP. Khi bạn thực hiện một yêu cầu HTTP, trình duyệt sẽ gửi cookie đến máy chủ. This page có một số ví dụ tuyệt vời về lưu lượng truy cập HTTP trông như thế nào.

-1

Hmm có vẻ như bạn cần ho các phiên bằng cách lấy tất cả cookie và lặp lại chúng theo cách thủ công trên trình duyệt của riêng bạn, nhưng họ đã duy trì trang web trong nhiều năm và các thủ thuật này sẽ không hoạt động, nếu bạn muốn, hãy chọn một cái gì đó khác

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