2009-02-23 20 views
46

Hãy nói rằng tôi có một trang web với tên miền: www.example.comĐường dẫn cookie và khả năng tiếp cận của mình vào các trang web thư mục con

Nếu tôi đặt một cookie với path '/' cookie sẽ có thể truy cập thông qua tất cả trang trong tên miền, ví dụ:

  • www.example.com/page1.html
  • www.example.com/subfolder1/page1.html
  • www.example.com/subfolder1/moresubfolder1/page1 .h TML vv

gì nếu chúng ta thiết lập các cookie path '/subfolder1', sẽ cookie sẽ được cung cấp cho bất kỳ trang hoặc thư mục con bên dưới thư mục? Ví dụ:

  • www.example.com/subfolder1/moresubfolder/page1.html

Vì vậy, nếu không, tôi đoán, tôi không có lựa chọn nào khác để sử dụng đường dẫn '/' đối với những tập tin cookie, đúng?

Trả lời

50

Nếu chúng ta thiết lập các cookie cho con đường '/ subfolder1', sẽ cookie sẽ được cung cấp cho bất kỳ trang hoặc thư mục con bên dưới thư mục?

Có. Cookie sẽ khả dụng cho tất cả các trang và thư mục con.

+22

Xem http://stackoverflow.com/questions/8014024/set-cookie-wildcard-path để biết thông số kỹ thuật có liên quan. Đối với những người không biết, cookie chỉ có thể truy cập vào đường dẫn được chỉ định và bất kỳ đường dẫn phụ nào, không có siêu thông báo. Vì vậy, cookie cho đường dẫn "/ folder/subfolder1 /" không thể truy cập vào "/ folder /". Tôi đập đầu vào cái này một chút. –

+0

@SampleJACK ouch, giải thích vấn đề của tôi khá độc đáo! – RonLugge

+0

@ Alex, vậy làm cách nào để chúng tôi nhận được cookie dành cho '/ thư mục con1' nhưng ** không **'/thư mục con/thư mục bên trong'? – Pacerier

11

nếu chúng ta thiết lập các cookie cho con đường /subfolder1, các trang sau trong ví dụ này có thể truy cập:

www.example.com/subfolder1/page1.html
www.example.com/subfolder1/moresubfolder1 /page1.html
, vv

Tuy nhiên, trang www.example.com/page1.html sẽ không thể truy cập vì nó không thuộc về con đường cho phép.

3

Để loại bỏ một số sự nhập nhằng bằng cách dùng lại một phần của this câu trả lời:

Yêu cầu-đường path-phù hợp với một cookie đường cho nếu ít nhất một trong những điều kiện sau đây giữ:

  • Đường dẫn cookie và đường dẫn yêu cầu giống hệt nhau.
  • Đường dẫn cookie là tiền tố của đường dẫn yêu cầu và ký tự cuối cùng của đường dẫn cookie là% x2F ("/").
  • Đường dẫn cookie là tiền tố của đường dẫn yêu cầu và ký tự đầu tiên của đường dẫn yêu cầu không được bao gồm trong đường dẫn cookie-
    là ký tự% x2F ("/").

Có một khác biệt nhỏ (nhưng có tiềm năng quan trọng) giữa thiết lập một cookie trên con đường /subfolder1/subfolder1/ con đường.

Nếu bạn dựa vào trước đường dẫn yêu cầu của bạn cần phải bắt đầu bằng ký tự "% x2F ("/")" (dấu gạch chéo chuyển tiếp) để đảm bảo hành vi mong muốn. Ví dụ, hãy xem câu trả lời được liên kết.

Đặt đường dẫn cookie đơn giản là / tránh mọi trường hợp cạnh, nhưng như bạn nói - cookie sẽ có thể truy cập được toàn bộ miền.

+0

câu trả lời thông tin nhất – KGCybeX