javascript改写服务器端设定的cookie

bjb05 2014-07-02 02:41:08
最近遇到个问题,服务器端设定的某个cookie,如a=1,如果我用js改写,无论是document.cookie="a=2",还是网上的很多setCookie方法,都会在cookie中追加一个"a=2",之前的cookie"a=1"未改写,并且这两条cookie的domain和path都不相同,而用一些插件可以编辑这些cookie,不知道这些插件的实现机制是什么。

所以请教两个问题,1、js能修改服务器端设定的cookie吗?2、浏览器插件改写cookie是如何做到的?

求教
...全文
312 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
直接写
document.cookie='name=abc;path=/;domain=xxx.com'
注意domain不能跨域,只能为当前域名或者顶级域名
bjb05 2014-07-02
  • 打赏
  • 举报
回复
引用 1 楼 RisJazz 的回复:
1 服务器端设定的cookie最终会存储在浏览器端,理论上js可以改写服务器端设定的cookie,只要你是在同一域。 2 浏览器插件改写cookie具体实现方法与浏览器如何存储cookie相关。 大多浏览器以cookie文件的方法(或者内存)存储cookie,插件只需要cookie文件的存储方式(包括加密方式,如果有的话), 就可以有目的的改写cookie文件,从而达到改写cookie的目的。 有些浏览器甚至对插件开发者提供读取和改写cookie的API。
求第一个问题的具体方案 服务器端设定的cookie是: domain=a.com path=/ 而我用document.cookie="key=value" 这样设定得到的cookie是: domain=www.a.com path=user,这两个值是自动的(从chrome里查出来的) 不知道cookie有没有设定某个cookie的domain和path的接口
可爱的小灵儿 2014-07-02
  • 打赏
  • 举报
回复
1 服务器端设定的cookie最终会存储在浏览器端,理论上js可以改写服务器端设定的cookie,只要你是在同一域。 2 浏览器插件改写cookie具体实现方法与浏览器如何存储cookie相关。 大多浏览器以cookie文件的方法(或者内存)存储cookie,插件只需要cookie文件的存储方式(包括加密方式,如果有的话), 就可以有目的的改写cookie文件,从而达到改写cookie的目的。 有些浏览器甚至对插件开发者提供读取和改写cookie的API。

87,984

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧