【发布时间】:2020-12-14 10:07:58
【问题描述】:
假设我在浏览器中的网站/服务https://example.com 上登录(使用登录名/密码)。如果我打开 Developer tools,我可以在控制台中运行 document.cookie 并复制包含与当前网站关联的所有 cookie 的字符串。
然后我打开一个新的隐身窗口,我转到https://example.com。当然,我没有登录,我可以在Developer tools控制台用Clearing all cookies with JavaScript中描述的方法删除当前cookies,然后恢复之前复制的cookies:
document.cookie = "<the string that I copied before>"
然后在页面重新加载(F5)之后,我希望再次登录,但它没有工作。使用document.cookie = "<the string that I copied before>" 设置的 cookie 不会被保留。 (例如,在 Reddit 的情况下,它不起作用。)
这种在“开发者工具”中从另一个浏览器的上一个会话中设置 cookie 的 JS 方法有什么问题?它不应该工作吗?
【问题讨论】:
-
“我可以在控制台中运行 document.cookie 并复制包含与当前网站关联的所有 cookie 的字符串。” - 不,不是全部我> 他们。只有那些,首先可以被客户端 JavaScript 访问。 (关键字:
httpOnly) -
谢谢@CBroe,我想这就是答案。所以没有办法将完整的 cookie / 登录会话恢复到另一个浏览器 / 或同一浏览器的隐身窗口?
标签: javascript cookies developer-tools