Cookiepath及其对子文件夹页面的可访问性

假设我有一个域名为www.example.com的网站

如果我使用path“ / ”设置cookie,那么可以通过域中的所有页面访问cookie,例如:

  • www.example.com/page1.html
  • www.example.com/subfolder1/page1.html
  • www.example.com/subfolder1/moresubfolder1/page1.html等

如果我们将cookie设置为path“ / subfolder1 ”,那么该cookie是否可用于该文件夹下的任何页面或子文件夹? 例如:

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

所以,如果没有,我想,我别无select,只能使用path“/”这些cookie,对吧?

如果我们将cookie设置为path“/ subfolder1” ,cookie是否可用于文件夹下的任何页面或子文件夹?

是。 该cookie 可用于所有页面和子目录。

如果我们将cookie设置为path /subfolder1 ,则可以访问示例中的以下页面:

http://www.example.com/subfolder1/page1.html
http://www.example.com/subfolder1/moresubfolder1/page1.html
等等

但是, www.example.com/page1.html页面将不可访问,因为它不属于允许的path。

通过重新使用这个答案的一部分来消除一些不明确的地方:

如果以下至less一个条件成立,请求pathpath将匹配给定的Cookiepath:

  • cookiepath和请求path是相同的。
  • cookiepath是请求path的前缀,cookiepath的最后一个字符是%x2F(“/”)。
  • Cookiepath是请求path的前缀,并且不包括在cookie中的请求path的第一个字符 –
    path是%x2F(“/”)字符。

/subfolder1path和/subfolder1/path之间设置一个cookie之间有一点(但可能很重要)的区别。

如果您依赖前者,则您的请求path需要以“%x2F(”/“)字符”(正斜杠)开始,以保​​证所需的行为。 举一个例子,看看链接的答案。

设置cookiepath简单/避免任何边缘情况,但正如你所说 – cookie可以访问整个域。