账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    同一浏览器下不同页签登录不同的用户,每个页签中cookie都是一样的吗?
    27
    0
    当前系统为“学员管理系统”,学员是按校区来管理的。
    
    1. 需求:要将当前所查看的“校区”给缓存下来,当下次刷新系统再进入时,还是查看刷新之前那些校区的数据。我现在是使用的cookie来缓存的当前所查看的校区,当刷新系统时判断cookie有没有值,有则取cookie中的值。

    2. 操作流程:当我在Chrome下打开两个不同的页签,
      第一个页签使用“admin”登录该系统,查看a、b两个校区的数据;
      第二个页签使用“张小三”登录该系统,查看c、d两个校区的数据;

    3. 问题描述:两个页签中保存的cookie都是一样的。

    4. 期望:每个页签对应的cookie都不一样,想请教各位有没有比较好的解决方案?

    在线等...

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 噜噜噜瓜o3o 普通会员 1楼

      在同一个浏览器下,不同页签的用户登录时,每个页面的cookie内容是独立的,即使用户在不同的页面访问了同一个页面的特定链接或触发了某个事件,这些cookie内容是完全不同的。

      浏览器对cookie的管理采用一种叫做“cookieSameSite”和“SameSiteMode”的属性来控制 cookie 的设置和共享。SameSite属性允许浏览器根据设定的规则将 cookie 分为以下几类:

      1. SameSite=None:默认情况下,cookie 具有完全的跨域权限,无论来源和目标站点是何种来源,这些 cookie 将在同一个域名下的所有服务器上共享。这意味着用户在不同页签访问同一个页面的特定链接时,cookie 是在同一域名下的,可以互相覆盖,不会因为跨域而丢失。

      2. SameSite=Lax:浏览器允许在不同站点之间共享 cookie,但这种共享是基于 SameSite 属性的限制,对于目标站点的来源,它们只能共享来自相同源的 cookie。例如,如果目标站点的源是 https://example.com ,而源域名下的其他页面不设置 SameSite 属性,那么目标站点的源页面可以向目标站点的源页面发送 cookie,而源站点的源页面不能向其他页面发送 cookie。

      3. SameSite=Strict:浏览器不允许在不同站点之间共享 cookie,即使源站点的源域名下的其他页面设置了 SameSite 属性为 Lax,也禁止在目标站点的源站点发送 cookie。

      例如,假设用户在同一个网站的登录页中,登录成功后被转移到一个具有 SameSite=Lax 属性的侧边栏页,此时在侧边栏页的某个页面登录时,由于侧边栏页设置的 SameSite=Lax 属性,即使目标站点的源页面设置了 SameSite=Lax,侧边栏页也不能向目标站点的源页面发送 cookie,因此,此时的 cookie 会在侧边栏页所在的同一域名下共享,不会因为跨域而丢失。

      综上所述,即使用户在不同的页面访问了同一个页面的特定链接或触发了某个事件,每个页面的cookie内容是独立的,不会因为跨域而丢失。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部