【问题标题】:Close session on certain conditions在某些条件下关闭会话
【发布时间】:2011-02-15 05:00:35
【问题描述】:

现在我正在使用会话来登录用户并提取必要的信息。出于某种原因,在 Safari 上,如果用户长时间没有处于非活动状态或在未注销的情况下关闭窗口,则会出现重定向错误。如果用户在未退出的情况下关闭选项卡或窗口,我是否可以自动退出?

              The page isn't redirecting properly



           Firefox has detected that the server is redirecting the request for this address
           in a way that will never complete.


           This problem can sometimes be caused by disabling or refusing to accept
  cookies.

【问题讨论】:

  • 您能详细说明“重定向错误”吗?默认情况下,PHP 会话 cookie 仅对一个会话有效,这意味着它们会在浏览器关闭时被清除。

标签: php session cookies login


【解决方案1】:

对您的问题的直接回答是合格的“否”。您可以将卸载事件添加到页面并在它触发时发送 AJAX 查询(当用户关闭浏览器或选项卡,或导航离开页面时),但某些浏览器会停止所有待处理的请求,作为发送新请求的一部分要求。另外,当用户只是在您自己的网站上导航时,您必须做出某种允许,这将触发与他或她导航离开时相同的事件。而且,如果他们让您的网站在多个窗口或标签中打开怎么办?

总而言之,我认为您最好解决您提到的“重定向错误”。这种变通方法本身很容易出现问题——你会以问题换问题。

【讨论】:

    【解决方案2】:

    也许您可以创建一个 cookie,该 cookie 在浏览器关闭时过期,当有人使用重新打开的浏览器重新打开网站但没有该 cookie 时,结束会话?

    不过,我相信 casablanca 是对的,所以 php 会话应该在浏览器关闭时结束。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 2023-01-25
      相关资源
      最近更新 更多