Cookie的一些不常见问题及解决方法

公司重构共用登录和用户体系的h5端与PCWeb端时,因Cookie判断失误遇问题。介绍了Cookie域的使用,包括不填时仅当前域有效、指定时在指定域及子域名有效,还说明了SSO单点登录实现方法,以及浏览器对Cookie域设置的安全限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

目前公司有两个平台,分别是为普通用户使用的h5端和为企业提供服务的PCWeb端,这两个平台是共用一套登录体系和用户体系,久而久之,为了区分不同的业务场景导致用户体系的字段存在着大量的冗余,这时候就要开始进行重构,将原有的用户进行分离,但是依旧使用同一套登录系统。在重构的过程中,因为对Cookie的错误判断导致了一些问题,走了许多弯路,于是决定将这些问题记录下来,引以为戒。

Cookie是由服务端写入到客户端浏览器的一串字符串,主要包括键,值,过期时间,路径和域,这里主要说域的使用。

1.domain域不填

默认是只有当前域下面有效

2.domain域指定

在指定的域和该域下面的所有子域名都有效 这里的有效指的是,浏览器在访问有效的域名下的资源时,会自动在请求头中带上该cookie

3.SSO单点登录的实现

假设登录的域名是login.olange.cn,需要验证登录的站点是a.olange.cn和b.olange.cn,当我访问a.olange.cn的时候,因为此时还未登录,就会跳转到login.olange.cn上的登录页面,在提交完登录名和密码后,校验成功,这时候就要开始写入token到Cookie中,将Cookie的domain设为它们的上级域名olange.cn,这样浏览器在访问a.olange.cn和 b.olange.cn的时候都会带上这个token

4.domain可以自由设置吗

可以,但是浏览器不接受。出于安全考虑,浏览器只会保存当前域及其上级域名下的Cookie,其他的则会被抛弃掉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值