Pau*_*eam 5 cookies session-cookies microsoft-edge
至少在16/17版本上,我们在MS Edge上遇到了奇怪的行为。在IE 11 / Chrome / Firefox上不会发生相同的问题。
我们的用户通过会话cookie进行身份验证。Cookie的名称是“ app”。其他cookie涉及使用cookie名称“ prefLang”存储当前的显示语言。Cookie是HttpOnly,是安全的,并且仅针对实际使用的子域进行设置。
在某些情况下,MS Edge只会删除名为“ app”的会话cookie,而不再是HTTP请求的一部分。提及的“ prefLang” cookie不会被删除,并且在服务器上可见。
掉落发生不容易重现,但有时在以下情况下可见:
请求/响应调试信息服务器端的示例,其中会话cookie app = redactedABC没有传输到服务器
2018-11-28 09:44:00 UTC POST hasIdentity: 1 UserId: <redacted> Request: https://app.domain.com/page/action/full/add/0 / Cookie: _gid=redacted; _ga=redacted; app=redacted-ABC; prefLang=de
2018-11-28 09:44:00 UTC 200 hasIdentity: 0 UserId: 0 Response headers: Array
(
[0] => Expires: Thu, 19 Nov 1981 08:52:00 GMT
[1] => Cache-Control: no-store, no-cache, must-revalidate
[2] => Pragma: no-cache
)
2018-11-28 09:46:21 UTC POST hasIdentity: 0 UserId: 0 Request: https://app.domain.com/page/action/full/add/0 / Cookie: _gid=redacted; _ga=redacted; prefLang=de
2018-11-28 09:46:21 UTC 302 hasIdentity: 0 UserId: 0 Response headers: Array
(
[0] => Expires: Thu, 19 Nov 1981 08:52:00 GMT
[1] => Cache-Control: no-store, no-cache, must-revalidate
[2] => Pragma: no-cache
[3] => Set-Cookie: app=redactedXYZ; path=/; domain=app.domain.com; secure; HttpOnly
)
2018-11-28 09:46:21 UTC GET hasIdentity: 0 UserId: 0 Request: https://app.domain.com/account/login / Cookie: _gid=redacted; _ga=redacted; prefLang=de; app=redactedXYZ
2018-11-28 09:46:21 UTC 200 hasIdentity: 0 UserId: 0 Response headers: Array
(
[0] => Expires: Thu, 19 Nov 1981 08:52:00 GMT
[1] => Cache-Control: no-store, no-cache, must-revalidate
[2] => Pragma: no-cache
)
Run Code Online (Sandbox Code Playgroud)
我有太多的问题和想法,评论太长了:
服务器端呢?负载均衡器可以作为一个解释。会话存储也可能是一个线索(尽管可能性很低,除非“无返回会话 cookie”请求是先前未记录的无效 cookie 踢出的结果)。当然,如果其他浏览器大量正常运行,服务器端调查就没有意义。
您如何运行客户端应用程序并执行请求?Ajax 或获取请求以及完整文档加载(您的 URI 看起来非常 APIsh)?您是否注意到请求模式和问题之间的联系?应用程序客户端部分中 cookie 数据不可用也可以作为一个指导原则(例如,服务工作人员无法访问在很少满足条件的请求时唤醒的 cookie )。Edge 也可能会出现问题,因为本地文件中使用 Ajax 发回的 cookie(这是一种糟糕的应用程序方式,但我见过很多奇怪的事情)。
根据您提供的信息,这些点似乎很少能够产生如此不一致的行为,除非混合在一些该死的边缘敏感药水中。无论如何,答案可能有助于集中问题并定义更可重现的背景。
除此之外,我发现了一个2 年前的帖子,讨论了一个非常、非常、非常、相似的问题,仍然活跃并且看起来尚未解决,针对...... IE11(抱歉)。它与从不同浏览器进程(如选项卡或 iframe)访问时会话 cookie 丢失有关。我没有发现有关 Edge 的此问题的任何信息,并且我相信大部分引擎已被重写,但也许您设法找到了闹鬼的部分(尽管您说 IE11 上一切都很好)?
如果您同意,您最好用相关的相关点编辑您自己的问题,以便我可以删除这个不是真正答案的答案。
| 归档时间: |
|
| 查看次数: |
1314 次 |
| 最近记录: |