【发布时间】:2019-07-04 13:51:47
【问题描述】:
我们最近对 Laravel 5.6 应用程序进行了渗透测试,其中一个被标记的问题是在注销时未正确设置过期时间。 AuthenticatesUsers trait 在会话上调用 invalidate 方法,该方法基本上刷新会话数据并重新生成 ID,但不会为其设置过期时间。
根据报告,如果攻击者可以获得有效的会话令牌,他们将能够劫持受影响用户的帐户。用户注销不会使攻击者的会话失效。
这里的任何指针都会有很大帮助。
谢谢
/**
* Log the user out of the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->invalidate();
return redirect('/');
}
【问题讨论】:
标签: php laravel session laravel-5.6 session-management