From fe8ca9c0dc1f6d2becabe92a3d80420a99676f56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20Klabbers?= Date: Fri, 8 Oct 2021 00:34:22 +0200 Subject: [PATCH] [huntr] adding cache control headers to the admin area (#3097) This PR forces the `Cache-Control: no-store, max-age=0` header to the response in the Admin Area. This forces cache to be ignored upon browsing back and forth between pages using the browser controls. Although absolutely no fail safe, it should provide better protection against serving cached pages once an admin has signed out. --- .../core/src/Admin/AdminServiceProvider.php | 3 ++- .../Admin/Middleware/DisableBrowserCache.php | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 framework/core/src/Admin/Middleware/DisableBrowserCache.php diff --git a/framework/core/src/Admin/AdminServiceProvider.php b/framework/core/src/Admin/AdminServiceProvider.php index f07da123b..c5563aace 100644 --- a/framework/core/src/Admin/AdminServiceProvider.php +++ b/framework/core/src/Admin/AdminServiceProvider.php @@ -61,7 +61,8 @@ class AdminServiceProvider extends AbstractServiceProvider HttpMiddleware\CheckCsrfToken::class, Middleware\RequireAdministrateAbility::class, HttpMiddleware\ReferrerPolicyHeader::class, - HttpMiddleware\ContentTypeOptionsHeader::class + HttpMiddleware\ContentTypeOptionsHeader::class, + Middleware\DisableBrowserCache::class, ]; }); diff --git a/framework/core/src/Admin/Middleware/DisableBrowserCache.php b/framework/core/src/Admin/Middleware/DisableBrowserCache.php new file mode 100644 index 000000000..731ea8157 --- /dev/null +++ b/framework/core/src/Admin/Middleware/DisableBrowserCache.php @@ -0,0 +1,25 @@ +handle($request); + + return $response->withHeader('Cache-Control', 'max-age=0, no-store'); + } +}