徐明明*_*徐明明 7 javascript cookies
有两个域: a.example.com example.com
example.com是a.example.com的父域.现在,a.example.com和example.com都可以编写名为test_cookie的cookie .现在我们有一个a.example.com页面,它将使用javascript来读取cookie test_cookie的值.有没有办法只读取在a.example.com域而不是example.com中设置的cookie ?
也许我的问题有点不清楚,
我要实现的目标是:1.我想写一个名为功能readCookie读取与名称的Cookie test_cookie其中:a.当存在一个cookie:test_cookie下域example.com和NO饼干test_cookie下域a.example.com,readCookie返回null湾 当有一个cookie:test_cookie下域example.com,也是一个cookie的test_cookie下域a.example.com,readCookie返回域下的cookie值a.example.com ℃.当没有cookie:exampler.com下的test_cookie,但有一个cookie test_cookie下域a.example.com,readCookie返回域下的cookie值a.example.com.
Gum*_*mbo 12
这取决于cookie的定义方式,特别是如果Domain属性指定了它具有的值(请参阅RFC 2965 - 用户代理角色):
.like 开头.example.com(如果不是,例如example.com,它将由用户代理更改.example.com).现在,cookie的域必须与要在请求中发送的域进行域匹配.情况就是这样:
这意味着:
effective domain | example.com | a.example.com | foo.example.com | bar.a.example.com
------------------+-------------+---------------+-----------------+-------------------
example.com | ? | ? | ? | ?
a.example.com | ? | ? | ? | ?
.example.com | ? | ? | ? | ?
.a.example.com | ? | ? | ? | ?
Run Code Online (Sandbox Code Playgroud)
因此,如果您希望cookie仅对a.example.com有效,则要么省略Domain属性,要么指定Domain属性.a.example.com(这将使cookie对a.example.com及其子域有效).
无法example.com通过设置domain参数将 cookie 限制为 -only。然而,在大多数浏览器中,cookie 将默认为example.com-only 如果没有domain提供,不幸的是,在 IE 中,它默认允许子域访问 cookie。
这就是为什么您将您的主站点放在www.example.com而不只是example.com. 对于主域上的站点,example.com您无法可靠地将 cookie 分开。
| 归档时间: |
|
| 查看次数: |
2276 次 |
| 最近记录: |