使用客户端javascript document.cookie=...
设置Cookie时,secure
属性强制Cookie“仅通过安全协议传输为https”see MDN spec。
我在我的SPA中设置了一个cookie,客户端(即在浏览器运行的代码中),如下所示:
document.cookie = 'myCookie=myValue;expires=Sun, 31 Dec 2017 23:00:00 GMT;path=/;secure;';
使用javascript Sun, 31 Dec 2017 23:00:00 GMT
方法Date
获取toUTCString()
,并且可能是遥远未来的任何日期(日期时有expires
个问题的报告将来不到2个小时,但这不是危险的。)
这适用于macOS和Android上的Chrome,但不适用于Chrome或iOS上的Safari。在探讨之后,我认为删除secure
属性可以设置cookie:
document.cookie = 'myCookie=myValue;expires=Sun, 31 Dec 2017 23:00:00 GMT;path=/;';
有没有人知道我如何在iOS上为Chrome和Safari设置我的Cookie,因为它只能通过https传输?
肯定有办法,我研究了许多SO问题无济于事。 THX
答案 0 :(得分:0)
我遇到了同样的问题,当我添加域参数时,它就开始工作了。
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