首页 > 解决方案 > 我还能在本地机器上保存持久性 cookie 吗?

问题描述

在 Internet file:///C:/Users/etc 之外,新的 Firefox 仅针对当前会话读取和写入 JavaScript cookie。关闭浏览器后,我的旧 Firefox 版本保存在其 cookie 目录中的数据似乎消失了。离线,我的 Chrome 浏览器根本不允许本地 cookie。还有一种方法可以使用 document.cookies 在本地机器上获取数据持久性吗?它是被禁止的还是另一种首选方式?这里的安全问题是什么?

标签: javascriptcookiesbrowser

解决方案


Cookie 和单独的 Web 存储(localStoragesessionStorage)仅适用于资源,http:https:不是file:资源。因此,如果您正在通过file:URL(file:///home/user3057382/www/foo.html等)查看您的页面,如果 Firefox 在会话期间存储由您的 JavaScript 代码设置的 cookie,那么 Firefox 会更加努力,因为 cookie(特别是)完全是 HTTP 的东西。

对于本地开发,最好在本地运行 Web 服务器并通过http:或查看您的页面和其他资源https:(您可以获得仅限开发的本地 SSL 证书)。Cookies(和网络存储)将在您的页面上正常工作。

大多数体面的 IDE 还能够使用其内置的本地 Web 服务器“运行”您的项目,因此您不必自己安装和配置。Visual Studio Code、JetBrains 等当然可以。


推荐阅读