Nic*_*lin 7 iphone safari mobile-safari ios
如果应用程序或选项卡在登录后立即关闭,一些 iPhone/iPad 设备就会丢失登录 cookie。
\n\n我在研究中发现并不幸解决的问题:
\n\nSafari 可能默认禁用 cookie(Cookie 在 MAC -Safari 和 IOS Mobile- Safari 中不起作用)
\n\n有人提到 cookie 值中的逗号和分号在 Safari 上不起作用(Cookie 在 MAC -Safari 和 IOS Mobile- Safari 中不起作用)(Safari 和 Asp.net 中 cookie 的奇怪问题)
\n\nString hash = FormsAuthentication.Encrypt(ticket);\nRun Code Online (Sandbox Code Playgroud)\n\nFormsAuthenticationTicket ticket = new FormsAuthenticationTicket(\n 1,\n user.MemberNumber.ToString(),\n DateTime.UtcNow,\n DateTime.UtcNow.AddDays(numOfDays),\n true,\n string.Empty);\n //FormsAuthentication.FormsCookiePath);\nRun Code Online (Sandbox Code Playgroud)\n\nAppPool 可能正在重置加密密钥(通过 ASP .Net 会员身份使用户登录保持不变)
\n\nSafari 可能设置为隐私模式进行浏览(iOS Safari 上的浏览器会话之间不会保存 Cookie)
\n\nweb.config 可能需要显式设置 cookieless 才能使用带有表单身份验证的 cookie ( http://www.bloggersworld.com/index.php/asp-net-forms-authentication-iphone-cookies/ )
\n\nSafari 在重定向到“我的帐户”时设置 cookie 时遇到问题(Safari 不保存 cookie,但 Chrome 会)
\n\nif (HttpContext.Current.Request.Browser.Type.ToLower().Contains("safari"))\n{\n HttpContext.Current.Response.AddHeader("Set-Cookie", CookieName + "=" + cookie + "; path=/; domain=" + HttpContext.Current.Request.Url.Host + ";");\n}\nRun Code Online (Sandbox Code Playgroud)\n\n使用 MacBook 上的 Web Inspector 确保 Cookie 已投放到 iPhone 上
\n\niOS11 在接受哪些 cookie 方面似乎更加严格。(iOS Safari/Chrome 中的 Cookie 持久性)
\n\n其他不适用的问题
\n\n来源:Safari 第 3 方 cookie iframe 技巧不再起作用?
\n\n我不确定为什么 cookie 在有人在网站上移动之前不会被保存,但它很容易通过这种方式复制:
\n\n根据您的标头响应代码...
HttpContext.Current.Response.AddHeader("Set-Cookie", CookieName + "=" + cookie + "; path=/; domain=" + HttpContext.Current.Request.Url.Host + ";");
Run Code Online (Sandbox Code Playgroud)
...看来您没有设置到期日期。没有过期日期的 Cookie 称为“会话 Cookie”,会在浏览器会话之间被删除(例如,在 iOS 上关闭并重新打开 safari)。
您想要的是一个“持久”cookie,它只是一个属性设置Expires为未来某个时间的 cookie。您也可以使用该Max-Age属性来达到相同的效果。
有关更多信息,请参阅Mozilla 文档。
| 归档时间: |
|
| 查看次数: |
4537 次 |
| 最近记录: |