From f8b9536eb82203dc5d145137eab91f28e4fc65a6 Mon Sep 17 00:00:00 2001 From: Djamil Legato Date: Mon, 28 Sep 2020 16:37:18 -0700 Subject: [PATCH 1/3] Fixed Referer reference for GPM calls --- system/src/Grav/Common/GPM/Response.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/src/Grav/Common/GPM/Response.php b/system/src/Grav/Common/GPM/Response.php index fc0f9f8c3..b2852e6a8 100644 --- a/system/src/Grav/Common/GPM/Response.php +++ b/system/src/Grav/Common/GPM/Response.php @@ -30,7 +30,6 @@ class Response public static $callback = null; private static $headers = [ - 'Referer' => 'Grav CMS', 'User-Agent' => 'Grav CMS' ]; @@ -58,10 +57,11 @@ class Response } $config = Grav::instance()['config']; + $referer = Grav::instance()['uri']->rootUrl(true); $options = new HttpOptions(); // Set default Headers - $options->setHeaders(self::$headers); + $options->setHeaders(array_merge([ 'Referer' => $referer ], self::$headers)); // Disable verify Peer if required $verify_peer = $config->get('system.gpm.verify_peer', true); From 1c104f935814edf5ddab53cdcf1f10d24b8875df Mon Sep 17 00:00:00 2001 From: Djamil Legato Date: Mon, 28 Sep 2020 16:38:11 -0700 Subject: [PATCH 2/3] Updated Changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07b233996..30bf11045 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ * Fixed `FlexObject::freeMedia()` method causing media to become null * Fixed bug in `Flex Form` making it impossible to set nested values * Fixed `Flex User` avatar when using folder storage, also allow multiple images + * Fixed Referer reference during GPM calls. # v1.7.0-rc.16 ## 09/01/2020 From e3ba3a3ea473579e2e04d933218a088d975fd22c Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Mon, 28 Sep 2020 18:35:01 -0600 Subject: [PATCH 3/3] added Uri::getAllHeaders() compatibility --- CHANGELOG.md | 2 ++ system/src/Grav/Common/Uri.php | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a88eb7a17..3b25a08dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # v1.7.0-rc.17 ## mm/dd/2020 +1. [](#new) + * Added a `getAllHeaders()` compatibility function 1. [](#improved) * Fall back through various templates scenarios if they don't exist in theme to avoid unhelpful error. * Added default templates for `external.html.twig`, `default.html.twig`, and `modular.html.twig` diff --git a/system/src/Grav/Common/Uri.php b/system/src/Grav/Common/Uri.php index 01ffd5df8..fdbcd8a95 100644 --- a/system/src/Grav/Common/Uri.php +++ b/system/src/Grav/Common/Uri.php @@ -1436,6 +1436,24 @@ class Uri return $this; } + + /** + * Compatibility in case getallheaders() is not available on platform + */ + public static function getAllHeaders() + { + if (!function_exists('getallheaders')) { + $headers = []; + foreach ($_SERVER as $name => $value) { + if (substr($name, 0, 5) == 'HTTP_') { + $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value; + } + } + return $headers; + } + return getallheaders(); + } + /** * Get the base URI with port if needed *