加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – Cookie域优先?

发布时间:2020-12-16 07:14:51 所属栏目:asp.Net 来源:网络整理
导读:我有几个网站.每个站点都是本地化版本,提供特定于一组给定语言环境的内容.还有一个全球或“全球”网站.我把它们设置如下: http://mydomain.com http://us.mydomain.com http://uk.mydomain.com 等…… 我正在尝试使用cookie跟踪每个应用程序的活动.每个站点
我有几个网站.每个站点都是本地化版本,提供特定于一组给定语言环境的内容.还有一个全球或“全球”网站.我把它们设置如下:

> http://mydomain.com
> http://us.mydomain.com
> http://uk.mydomain.com
>等……

我正在尝试使用cookie跟踪每个应用程序的活动.每个站点的cookie名称是相同的,并使用域的默认设置(即在.net中我没有指定httpCookie.Domain的值 – 我保留默认值).

当我访问“特定于语言环境”的站点时,一切正常,但是一旦我访问“全局”站点,当我回去访问我的“特定于语言环境”的站点时,似乎使用了来自此站点的cookie,而不是为“特定于语言环境”的站点发布的cookie.

关于如何让我的“全局”cookie优先于“特定于语言环境”的网站上的“本地特定”cookie的任何想法?

解决方法

在大多数浏览器中,设置不带“域”的cookie使其仅在当前主机名上有效.这不能通过在“域”上设置任何值来实现;如果您想要这种行为,则必须省略’domain’参数.

但是在IE中,您设置的没有“域”的任何cookie都将获得当前主机名的隐含“域”.这意味着如果您在’example.com’上设置cookie,则无法阻止它被发送到’sub.example.com’.

因此,您不能拥有不共享父域安全上下文的子域.如果您希望将子域与其父域保持分开,则必须(如JustLoren建议的那样)建立主站点www.example.com而不仅仅是example.com.

当两个具有不同域的cookie有效时,浏览器通常会同时发送它们,因此您可以期待一个类似’a = b;的文档.一个= C”.如果您的cookie阅读层不期望多个具有相同名称的cookie,其中一个将消失(您无法控制哪个).

另一种方法,如果您不关心在其他站点和主站点之间设置边界,则只是在不同的子站点上使用不同的cookie名称.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读