.htaccess 在Laravel应用程序中关闭选项卡/浏览器时强制注销-Chrome问题

.htaccess 在Laravel应用程序中关闭选项卡/浏览器时强制注销-Chrome问题,.htaccess,google-chrome,session,laravel,browser-cache,.htaccess,Google Chrome,Session,Laravel,Browser Cache,我正在Laravel4.1中构建一个webapp,我希望在浏览器/选项卡关闭时强制注销 有点像你典型的银行。。。您登录到您的网上银行,关闭窗口,然后返回该网站,您需要再次登录 我在app/config/sessions.php中设置了以下内容 'driver' => 'file', 'lifetime' => 0, 'expire_on_close' => true, Safari和Firefox似乎工作正常,但Chrome似乎将会话缓存保持为有效,这意味着用户在

我正在Laravel4.1中构建一个webapp,我希望在浏览器/选项卡关闭时强制注销

有点像你典型的银行。。。您登录到您的网上银行,关闭窗口,然后返回该网站,您需要再次登录

我在app/config/sessions.php中设置了以下内容

    'driver' => 'file',

'lifetime' => 0,

'expire_on_close' => true,
Safari和Firefox似乎工作正常,但Chrome似乎将会话缓存保持为有效,这意味着用户在浏览我的网站时已登录


我有没有办法强迫Chrome不让用户登录我的网站?也许我可以在htaccess或类似的应用程序中做些什么?

据我所知,Chrome在会话cookie方面没有具体的问题。我刚刚在Firefox、Safari和Chrome上测试了我自己的应用程序,三者的行为都是一样的

我建议在Chrome中打开开发者工具,点击“资源”菜单并检查站点的cookies。如果一切正常,您站点的cookie应该在“Expires/Max Age”列中以“Session”值列出。如果没有,则您的应用程序可能未正确设置cookie。或者您可能有一个旧的cookie挂在周围,所以只需删除cookie并重试

顺便说一句,Laravel4.1覆盖了PHP的本机会话处理,并自行完成所有工作,包括垃圾收集。它从上面的“生存期”值中获取会话生存期值。因此,如果您坚持使用当前设置,那么每次运行垃圾收集时,您的所有登录用户都将被注销(默认情况下,每100个请求中会有2个请求)。您应该将“寿命”更改为1440之类的值。事实上,就在今天,我写了一篇关于这个问题的长篇文章: