Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Путь к файлу cookie и его доступность для страниц вложенных папок

Автор вопроса: NordinОтветов: 3

Допустим, у меня есть веб-сайт с доменом: www.example.com.

Если я установлю cookie с путем '/', cookie будет доступен через все страницы в домене, например:

  • www.example.com/page1.html
  • www.example.com/subfolder1/page1.html
  • www.example.com/subfolder1/moresubfolder1/page1.html и т. д.

Что, если мы установим для файла cookie путь '/ subfolder1', будет ли файл cookie доступен для любой страницы или подпапки в папке? Например:

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

Так что, если нет, я думаю, у меня нет другого выбора, кроме как использовать путь '/' для этих файлов cookie, верно?

cookieshttpcookie

Ответы

Ответ 1 · рейтинг 81 · Alex Barrett

Если мы установим для файла cookie путь '/ subfolder1', будет ли файл cookie доступен для любой страницы или подпапки в папке?

да. Файл cookie будет доступен для всех страниц и подкаталогов в пути /subfolder1.

Ответ 2 · рейтинг 13 · thefunfreak

если мы установим cookie на путь /subfolder1, будут доступны следующие страницы в примере:

www.example.com/subfolder1/page1.html
www.example.com/subfolder1/moresubfolder1/page1.html
и т. д.

Однако страница www.example.com/page1.html не будет доступна, поскольку она не принадлежит разрешенному пути.

Ответ 3 · рейтинг 13 · Michael

Чтобы устранить некоторую двусмысленность, повторно используя часть этого ответа:

Путь запроса соответствует заданному пути cookie, если выполняется хотя бы одно из следующих условий:

  • Путь к файлу cookie и путь запроса идентичны.
  • Путь к файлу cookie является префиксом пути запроса, а последний символ пути к файлу cookie -% x2F ("/").
  • Путь к файлу cookie является префиксом пути запроса, а первым символом пути запроса, который не включен в путь cookie-
    , является символ% x2F ("/").

Существует небольшая (но потенциально важная) разница между установкой cookie на путь /subfolder1 и путь /subfolder1/.

Если вы полагаетесь на первое, ваш путь запроса должен начинаться с символа "% x2F (" / ")" (косая черта), чтобы гарантировать желаемое поведение. Для примера взгляните на связанный ответ.

Установка пути cookie просто / позволяет избежать каких-либо крайних случаев, но, как вы говорите, cookie будет доступен для всего домена.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы