我有一个基于php的系统,在chromeda中没有问题,但在safari中不保留cookie,在safari的cookie系统中我应该注意什么,如何解决这个问题?
关闭和打开 Safari 时删除 cookie
Same-Site 属性:Safari 对于跨站点跟踪有严格的策略。如果您希望第三方访问您的 cookie,请设置
SameSite=None
。如果您希望您的 cookie 仅由您的网站访问,则可以使用 SameSite=Lax
或 SameSite=Strict
。尝试不同的值,看看它如何影响您在 safari 上的 cookie。
如果您的 Cookie 设置为
SameSite=None
,Safari 要求 Cookie 也标记为 Secure
,这意味着它只能通过 HTTPS
进行传输。
设置
HTTPOnly
可以通过阻止客户端脚本访问cookie来增强cookie的安全性。虽然我们不知道safari是否考虑到这一点。
请务必明确设置 Cookie 过期日期
确保您的 cookie 的
Path
和 Domain
正确
Safari 调整了不同版本浏览器上的 cookie 处理方式。测试您的 cookie 在不同版本的 safari 上的处理方式。
Safari 具有隐私功能,可以阻止 JavaScript 访问 cookie。如果您使用 JavaScript 来操作 cookie,safari 可能会阻止它。
使用 Safari 的开发者工具检查正在设置的 cookie。