Chrome不携带cookie (Node无法使用session保存登录信息)

在Vue2.0+Node.js项目中遇到登录验证后Chrome浏览器跨域请求丢失session的问题。由于Chrome安全策略不允许跨域请求携带cookie,作者尝试通过服务器设置返回请求头允许跨域失败。最终通过设置代理服务器绕过同源策略,成功解决请求携带cookie的跨域问题。

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

写在前面:以下解释写法只是个人理解,本人目前并没有实际工作经验,所以难免会有很多不足的地方,有任何的错误瑕疵,希望大家花点时间可以在评论区指出,共同进步。谢谢!(●'◡'●)(●'◡'●)

省流(●'◡'●):用代理服务器不受同源策略的性质解决

技术栈&环境:

项目技术栈是Vue2.0+Node.js(用的egg框架)

现在有一个登录的请求,我在验证成功之后然后服务器用session保存我的登录信息。

但是此时当我保存完成之后,我发送第二个请求也就是验证请求去获取我的登录信息时发现.

此时的ctx.session是空对象,也就是说我根本就没有登录信息,但是我刚刚明明已经存入session了。

查看请求报文时发现根本就没有cookie。

原因:

chrome是不允许跨域请求携带cookie的,也就是说这里的原因就出在这个请求是跨域请求,我们的携带凭证被chrome拦截了。

解决:

首先三大解决跨域的方式,jsonp / 请求头 / 代理服务器。jsonp限制太多这里不再赘述,现在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值