请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

document.cookie不能覆盖server端设置的cookie

老师,经过实验我发现直接在Chrome浏览器中通过document.cookie设置cookie时,默认path是当前路由指向的路径,而且如果服务端设置返回的cookie中已有的username字段,通过document.cookie设置同名字段在req.cookie中并不会被覆盖,具体如下图。想请教一下这是什么原因呢?图片描述

正在回答 回答被采纳积分+3

2回答

六月的雨77 2021-05-05 12:06:14

要加上 path 才能覆盖。https://img1.sycdn.imooc.com//szimg/609219b309d94aaf19180650.jpg

1 回复 有任何疑惑可以回复我~
  • aibo #1
    是的。
    回复 有任何疑惑可以回复我~ 2023-01-18 16:01:07
双越 2021-03-10 17:31:52

很简单,server 端对于 cookie 的权限更大,即 server 端设置的 cookie 不能被浏览器轻易改掉。

0 回复 有任何疑惑可以回复我~
  • 提问者 LysKing #1
    那为什么在我没有设置httpOnly的情况下也无法像视频里老师那样覆盖呢?
    回复 有任何疑惑可以回复我~ 2021-03-10 17:57:32
  • 双越 回复 提问者 LysKing #2
    你在前端改写 cookie ,然后 server 端获取 req.headers.cookie 看看值是多少,我记得应该是两个值都有。
    回复 有任何疑惑可以回复我~ 2021-03-10 20:01:17
  • 回复 双越: 经过测试,有且只有之前的,新修改的不会打印
    回复 有任何疑惑可以回复我~ 2022-02-18 01:26:26
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信