gpt4 book ai didi

ios - 当应用程序立即关闭时,Safari 不会在 iPhone 或 iPad (iOS) 上保存 cookie

转载 作者:行者123 更新时间:2023-12-05 00:23:32 26 4
gpt4 key购买 nike

如果应用程序或选项卡在登录后立即关闭,则一些 iPhone/iPad 设备会丢失其登录 cookie。

我在研究中发现并没有运气解决的问题:

  • Safari 可能默认禁用了 cookie (Cookie is not working in MAC -Safari & IOS Mobile- Safari)
  • 已选中并启用 cookie
  • 有人提到 cookie 值中的逗号和分号在 Safari 上不起作用 ( Cookie is not working in MAC -Safari & IOS Mobile- Safari ) ( Strange problem with cookies in Safari and Asp.net )
  • 代码执行 FormsAuthentication.Encrypt() 将所有内容转换为大写字符

  • String hash = FormsAuthentication.Encrypt(ticket);
  • 创建 FormsAuthenticationTicket 时关闭 FormsCookiePath,以防路径在 iOS 和 Android 上包含无效字符

  • FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
    1,
    user.MemberNumber.ToString(),
    DateTime.UtcNow,
    DateTime.UtcNow.AddDays(numOfDays),
    true,
    string.Empty);
    //FormsAuthentication.FormsCookiePath);
  • AppPool 可能正在重置加密 key (Making user login persistant with ASP .Net Membership)
  • 已验证 machineKey 正在更新
  • Safari 可能设置为隐私模式以进行浏览 (Cookies not saved between browser sessions on iOS Safari)
  • 已验证 Safari 未处于隐私模式
  • web.config 可能需要明确设置无 cookie 以使用带有表单例份验证的 cookie (http://www.bloggersworld.com/index.php/asp-net-forms-authentication-iphone-cookies/)
  • 将 cookieless=”UseCookies” 添加到
  • Safari 在重定向到我的帐户 (Safari isn't saving cookies, but Chrome is) 时无法设置 cookie
  • 为 Safari 用户添加了响应对象的标题(起初这似乎适用于 iPad,但不再适用)

  • if (HttpContext.Current.Request.Browser.Type.ToLower().Contains("safari"))
    {
    HttpContext.Current.Response.AddHeader("Set-Cookie", CookieName + "=" + cookie + "; path=/; domain=" + HttpContext.Current.Request.Url.Host + ";");
    }
  • 在 MacBook 上使用 Web Inspector 确保 cookie 被丢弃在 iPhone 上
  • 当 iPhone 连接到 MacBook 时,一切都很好,但在断开连接时会中断。
  • 实际上,在连接时删除 cookie 时,MacBook 上 Safari 中的 Web Inspector 显示 cookie 已被删除,但是当我断开连接并尝试在断开连接的 iPhone 上访问该站点时,它仍然显示已登录。然后我重新连接 iPhone到 MacBook,原来的 cookie 还在那里。
  • iOS11 在接受哪些 cookie 方面似乎更加严格。 (Cookie persistence in iOS Safari/Chrome)
  • 将域添加到 cookie 创建

  • 其他不适用的问题
  • Safari 在使用 IFRAME 时没有获取 cookie
  • Safari 不读取 3rd 方 cookie

  • 来源: Safari 3rd party cookie iframe trick no longer working?

    我不确定为什么在有人在站点周围移动之前不会保存 cookie,但它很容易以这种方式复制:
  • 前往网站
  • 登录(登录将用户重定向到他们的“我的帐户”页面)
  • 关闭应用程序
  • 返回应用程序(该选项卡已经在“我的帐户”页面上,该页面将用户重定向到登录,因为浏览器没有找到 cookie 并认为用户未登录。
  • 最佳答案

    根据您的 header 响应代码...

    HttpContext.Current.Response.AddHeader("Set-Cookie", CookieName + "=" + cookie + "; path=/; domain=" + HttpContext.Current.Request.Url.Host + ";");
    ...看起来您没有设置到期日期。没有过期日期的 Cookie 称为“ session Cookie”,会在浏览器 session 之间被删除(例如,在 iOS 上关闭和重新打开 safari)。
    你想要的是一个“持久的”cookie,它只是一个带有 Expires 的 cookie。属性设置为将来的某个时间。您也可以使用 Max-Age属性来达到同样的效果。
    Mozilla docs更多。

    关于ios - 当应用程序立即关闭时,Safari 不会在 iPhone 或 iPad (iOS) 上保存 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56500566/

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