From a438031c68be5027a5b7322a5a3b849604cbea20 Mon Sep 17 00:00:00 2001 From: Roman Kelesidis Date: Fri, 19 Jan 2024 15:27:53 +0700 Subject: [PATCH] Added support for fastly cdn (#1327) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added support for Fastly CDN Co-Authored-By: Cønstantine Kovalensky <45331093+kovalensky@users.noreply.github.com> * Update common.php Co-Authored-By: Cønstantine Kovalensky <45331093+kovalensky@users.noreply.github.com> --------- Co-authored-by: Cønstantine Kovalensky <45331093+kovalensky@users.noreply.github.com> --- common.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/common.php b/common.php index 5fa647ddd..be153b99f 100644 --- a/common.php +++ b/common.php @@ -41,9 +41,12 @@ if (!defined('BB_SCRIPT')) { header('X-Frame-Options: SAMEORIGIN'); date_default_timezone_set('UTC'); -// Cloudflare -if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) { - $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP']; +// Set remote address +$allowedCDNs = ['HTTP_X_FORWARDED_FOR', 'HTTP_FASTLY_CLIENT_IP', 'HTTP_CF_CONNECTING_IP']; +foreach ($allowedCDNs as $allowedCDN) { + if (isset($_SERVER[$allowedCDN]) && filter_var($_SERVER[$allowedCDN], FILTER_VALIDATE_IP)) { + $_SERVER['REMOTE_ADDR'] = $allowedCDN; + } } // Get all constants