我到处搜索,但找不到如何防止会话(cookie?
我现在正在将我的网站从Codeigniter迁移到Laravel。
在 Codeigniter 中,如果将会话过期时间设置为 1 小时,则即使您是否主动打开网站,会话也会在 1 小时后过期。
在 Laravel 中,每次打开页面时,会话总是会刷新。
例如,如果我在 00:20 登录并将过期设置为 1 小时(01:20),然后在 00:50 打开一个页面,则过期时间将刷新为 01:50。
我的问题是,如何在拉拉维尔防止这种行为?我希望它像Codeigniter一样保持在01:20。
您可以在
config/session.php
中找到会话配置。
'lifetime' => 120, // in minutes, default 2 hours
'expire_on_close' => false,
就这样。下面是有关会话逻辑的说明。
届会的运作
Laravel的会话处理是完全逻辑的。我举个例子:
- 我在下午 5:00 打开页面 A,会话将设置为 20 分钟。它过期 5.20 PM,仅当用户没有活动时!
- 10分钟后,我打开B页。会话刷新,过期时间为"现在"+ 20 分钟
- 理解?在用户的每个活动(每个新请求)之后,会话刷新/扩展
安全
Laravel刷新会话对您来说非常安全!攻击者"抓住"会话更加困难!
所以我会推荐你Laravel方法,而不是(过时的)CodeIgniter方法。