Недавно мы протестировали проникновение наших приложений Laravel 5.6, и одной из проблем, которые были отмечены, было неправильное задание срока действия при выходе из системы. Черта AuthenticatesUsers вызывает метод invalidate в сеансе, который в основном сбрасывает данные сеанса и восстанавливает идентификатор, но не устанавливает срок его действия.
Согласно отчету, если злоумышленник сможет получить действительный токен сеанса, он сможет взломать учетную запись уязвимого пользователя. Выход пользователя из системы не сделает недействительным сеанс злоумышленника.
Любые указатели здесь будут очень полезны.
Спасибо
/**
* 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('/');
}
Laravel 5.6 добавил Auth::logoutOtherDevices()
Метод для этого:
https://laravel.com/docs/5.7/authentication#invalidating-sessions-on-other-devices
https://laracasts.com/series/whats-new-in-laravel-5-6/episodes/7
https://github.com/laravel/framework/issues/16311
Других решений пока нет …