关闭浏览器时用户在 IE 中注销

Posted

技术标签:

【中文标题】关闭浏览器时用户在 IE 中注销【英文标题】:User Getting Logged out in IE when closing browser 【发布时间】:2015-08-22 08:13:00 【问题描述】:

我正在运行 Drupal 7 站点并注意到 IE9 上的问题,当浏览器窗口关闭时,用户已注销。我们启用了“记住我”模块,并且 cookie 设置为不过期。在 Chrome 或任何其他浏览器上没有问题,您可以关闭浏览器,当您打开它时,用户仍处于登录状态。我在使用同一浏览器和计算机运行的任何其他 D7 网站上都没有看到这个问题。主持人是Blackmesh。

settings.php has $cookie_domain = '.mydomain.com'; 我正在考虑将其更改为 $cookie_domain = 'www.mydomain.com';,因为该站点始终重定向到 www 这对我来说很有意义,并且是我和我的系统管理员朋友同意的。

我正在考虑的一个潜在解决方案是在 settings.php $cookie_domain = 'www.mydomain.com'; 中设置 cookie 域

我注意到网站上有一些 cookie 来自 www.my 域和一些来自 .mydomain

我发现一些线程似乎有类似的问题。

http://forums.modx.com/thread/76947/ie-login-issue-with-www-vs-non-www-address

https://www.drupal.org/node/280623

【问题讨论】:

您是否检查了您的 Internet 选项 以查看是否检查了 "Delete browsing history on exit" 此问题仅在此站点上,而不是在另一个 D7 站点上,因此问题出在站点上,而不是浏览器中的任何内容。访问该网站的用户正在报告问题,这仅与该网站有关,与其他 D7 网站无关。在这台计算机上使用 IE9 的其他站点上不会出现此问题。 settings.php 有 $cookie_domain = '.mydomain.com';我正在考虑将其更改为 $cookie_domain = 'www.mydomain.com';由于该站点总是重定向到 www,这对我来说很有意义,并且是我和我的系统管理员朋友同意的。 试一试,请在这里告诉我们它是如何为您工作的。 感谢您的建议,我现在将 cookie 设置为 23 天 【参考方案1】:

cookie 域是 .mydomain.com 而不是 www.mydomain.com 应该没有任何问题,因为在根域上设置的 cookie 应该可以在任何“子域”(例如 www)上正常工作,尽管它不会尝试很痛苦,因为它很容易改变。

根据 IE 中的 cookie 隐私设置,如果未发送正确的 P3P 标头,则可能不会为此站点保存 cookie。对于测试,我很确定您可以使用 p3p: CP="CAO PSA OUR" (所以在 .htaccess 中放置 Header set P3P 'CP="CAO PSA OUR"'。我不知道正确的 P3P 是什么如果这确实是问题,你的情况,但这是我见过的一个不同的“只有 IE 阻止 cookie”问题。如果这不起作用,你可能需要研究一下。

如果这是问题所在,那么在生产中使用它时,请确保它真实地代表您的隐私政策(查看http://www.techrepublic.com/blog/software-engineer/craft-a-p3p-policy-to-make-ie-behave/)。

如果您在状态栏中看到隐私之眼图标(如果我没记错的话,我认为它看起来像 http://divabradford.org.uk/media/36647/ie_privacy.jpg),则表明 cookie 被阻止。

【讨论】:

这是我的另一个猜测,还有一些挥之不去的问题,所以我会测试一下。

以上是关于关闭浏览器时用户在 IE 中注销的主要内容,如果未能解决你的问题,请参考以下文章

在浏览器关闭时注销

定时自动注销和浏览器关闭

当浏览器关闭时,是不是有可靠的方法来注销用户?

Rails设计gem:强制注销浏览器选项卡关闭

当用户关闭浏览器而不单击注销时销毁或取消设置会话[重复]

当用户关闭浏览器或选项卡而不注销时如何将用户标记为离线