我有一个应用程序,我需要在 cookie 中存储一些信息。我有一个索引页并将一些信息放入 cookie(例如,一些变量名)。索引页 cookie 有 path /Main/
。在另一个页面中,我需要阅读此 cookie 并在必要时对其进行修改。但另一个页面 cookie 路径是/Main/info/
. 浏览器只是创建一个新的 cookie,但我需要覆盖它并/Main/
在所有页面上使用相同的 cookie 和路径。我怎样才能做到这一点?
user721588
问问题
9070 次
2 回答
3
添加路径=/; 或在创建 cookie 时指定路径。这将防止浏览器为每个域创建重复的 cookie。
对于其中一条评论,如果您查看 Google Chrome 以及它如何显示 cookie,它将向您显示路径。如果您使用相同的 cookie 名称而不指定路径,它将为每个创建一个 cookie。
注意:Internet Explorer 不会做同样的事情,它每个域都有一个文本文件。
于 2012-12-01T04:10:44.337 回答
1
您应该为所有SET-COOKIE
命令定义一个独立于请求资源的子路径的路径(例如path=/Main
)。一般来说,您应该使用尽可能长的路径......(但您必须使用相同的 cookie 获取所有资源的父路径)。
/
仅当您的应用程序拥有完整的域并且具有不同顶级路径(例如/main/...
,/secondary/...
和/unimportant/...
)的资源需要 cookie 时,才应使用根 ( )
为什么:
- 安全原因
- 防止与同一域上的其他应用程序产生副作用
于 2017-03-10T15:56:16.110 回答