gpt4 book ai didi

ios - 重新加载之间的 Cookie

转载 作者:行者123 更新时间:2023-11-29 01:03:36 25 4
gpt4 key购买 nike

我通过对服务器的 POST 请求在我的应用程序中获得授权。作为响应,我收到 json 文件和 cookie。

我想阻止用户每次都输入凭据。所以问题是如何在应用程序启动之间存储 cookie(仅 session cookie)。我在这里关注 3 个案例:

  1. 在 iOS 终止应用程序之前,用户按下“主页”并返回到应用程序
  2. 应用程序被 iOS 终止后,用户按下“主页”并返回到应用程序
  3. 用户通过从多任务处理中滑出应用程序强制退出应用程序

看来我可以使用这样的东西:NSHTTPCookieStorage.sharedHTTPCookieStorage().cookiesForURL(NSURL(string: "url")!)

但是它是否安全并且会在情况 2 和情况 3 中持续存在?

最佳答案

过去几周我一直在处理类似的 iOS 问题。

根据凭据需要的安全程度,我建议考虑使用浏览器的 localStorage 功能来解决此问题,而不是使用 cookie。

localStorage 和 sessionStorage 比 cookie 更容易操作,跨域保护有助于避免用户操作和第 3 方尝试。

如果要处理几乎任何其他浏览器,通常会使用 sessionStorage,因为每次登录 session 都会保留这些值。但是,移动设备上的 iOS 会过于频繁地清除 session 存储,使其变得毫无用处。

使用 localStorage 的危险在于值在浏览器 session 之间持续存在。这会成为一个问题,如果合法用户从第三方设备登录,凭据将保留在该设备上,除非用户有办法清除它们(这很容易使用 javascript 完成)。

使用sessionStorage和localStorage的优点是:
1. 与 cookie 相比易于操作
2. 无需不断向服务器回发 cookies 值
3. 更少的服务器开销

请注意,特别是在 iOS 上,如果启用了隐私浏览, session 和本地存储都会被禁用。

关于ios - 重新加载之间的 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36704438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com