Промежуточное ПО Laravel на маршруте выхода из системы - кэш браузера ERASE по протоколу HTTP - PullRequest
0 голосов
/ 04 июня 2018

TL; DR: Функция в порядке.Мне все еще нужно подключить промежуточное ПО маршрута выхода из системы, оно не работает специально для выхода из системы.dd() не является правильным тестом для промежуточного ПО, нажатие кнопки «Назад» после выхода из системы не будет работать, поскольку кэшированные заголовки удалены - это правильный тест.

Яиспользуя следующее промежуточное программное обеспечение, чтобы избежать нажатия кнопки «Назад» в браузере для возврата кеша после выхода пользователя из системы, что является проблемой безопасности, даже несмотря на то, что с сервером ничего нельзя сделать, все равно может отображаться конфиденциальная информация.

Я использую функцию (которая останавливается несколько раз только для того, чтобы убедиться, что кэш не работает ...)

public function handle($request, Closure $next)
{
    $response = $next($request);

    return $response->header('Cache-Control','nocache, no-store, max-age=0, must-revalidate')
        ->header('Pragma','no-cache')
        ->header('Expires','Fri, 01 Jan 1990 00:00:00 GMT');
}

Я пытаюсь подключить это как $routeMiddleware в Http/Kernel.php и в моем web.phpследующим образом:

Route::get('logout', 'Auth\LoginController@logout')->name('logout')->middleware('invalidate');

Что не работает (все еще можно вернуться к просмотру), поэтому я также попытался:

Route::middleware(['invalidate'])->group(function () {
    Route::get('logout', 'Auth\LoginController@logout')->name('logout');
});

И это также не сработало.

Тем не менее, если я зарегистрирую промежуточное программное обеспечение под $middlewareGroups, оно будет отлично работать, но я точно не знаю, влияет ли эта функция на другие методы кэширования, которые есть у Laravel, что существенно снижает нагрузку на сервер и увеличивает время отклика.пример дляэто будут кэшированные пользовательские сессии, есть много других готовых кешировок, которые делает laravel, и, кроме того, много других необходимых пакетов.

Пожалуйста, дайте мне знать, если это нормально, чтобы поместить его в $middlewareGroupsили что я делаю неправильно, отсеивая его после выхода из системы. \

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...