我们最近进行了Laravel 5.6应用程序渗透测试,发现的问题之一是注销时未正确设置到期时间。 AuthenticatesUsers特质在会话上调用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('/');
}
答案 0 :(得分:1)