Laravel 会话管理:重新生成会话 ID Draft
问题
朋友的网站遭到了会话固定攻击(session fixation attack),那么在我的 Laravel 应用中该如何防范这种攻击呢?
回答
什么是会话固定攻击?
会话固定攻击(session fixation attack)是利用应用系统在服务器的会话ID固定不变机制,借助他人用相同的会话ID获取认证和授权,然后利用该会话ID劫持他人的会话以成功冒充他人,造成会话固定攻击。
如何应对?
在 Laravel 应用中可通过重新生成会话 ID 来防止恶意用户的会话固定攻击。
如果使用了内置控制器 LoginController
,Laravel 会自动重新生成身份认证中的会话 ID。否则,你需要手动使用 regenerate
方法来重新生成会话 ID。
$request->session()->regenerate();