使用客户端 javascript document.cookie=...
设置 cookie 时, secure
属性强制 cookie“仅通过安全协议(protocol)作为 https 传输”see MDN spec .
我在客户端(即在浏览器运行的代码中)的 SPA 中设置了一个 cookie,如下所示:
document.cookie = 'myCookie=myValue;expires=Sun, 31 Dec 2017 23:00:00 GMT;path=/;secure;';
在哪里
Sun, 31 Dec 2017 23:00:00 GMT
使用 javascript Date
获得方法toUTCString()
, 并且可以是遥远 future 的任何日期(当日期在 future 不到 2 小时时,有 expires
问题的报告,但这在这里不重要)。这适用于 macOS 和 android 上的 Chrome,但在 iOS 上的 Chrome 和 Safari 上都没有设置 cookie。在四处寻找之后,我认为删除
secure
属性允许设置 cookie:document.cookie = 'myCookie=myValue;expires=Sun, 31 Dec 2017 23:00:00 GMT;path=/;';
有谁知道我如何在 iOS 上为 Chrome 和 Safari 设置我的 cookie,使其仅通过 https 传输?
肯定有办法,我研究了很多SO问题都无济于事。
谢谢
最佳答案
我遇到了同样的问题,当我添加 时它开始工作了域名 范围。
document.cookie = 'myCookie=myValue;expires=Sun, 31 Dec 2017 23:00:00 GMT;domain=www.mydomain.com;path=/;secure;';
更多可以在这里找到:How to set cookie secure flag using javascript
关于javascript - 在 ios safari 和 chrome 中使用客户端 javascript 设置安全 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44860667/