From 5f214dabfa199653e35378b82c062ee457376e07 Mon Sep 17 00:00:00 2001 From: rGaillard Date: Mon, 24 Sep 2012 12:02:17 +0000 Subject: [PATCH] // FIX #PSCFV-4302 --- classes/Cookie.php | 5 ++++- config/config.inc.php | 17 +++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/classes/Cookie.php b/classes/Cookie.php index 74257d5d1..0e4c96060 100644 --- a/classes/Cookie.php +++ b/classes/Cookie.php @@ -82,7 +82,10 @@ class CookieCore protected function getDomain($shared_urls = null) { $r = '!(?:(\w+)://)?(?:(\w+)\:(\w+)@)?([^/:]+)?(?:\:(\d*))?([^#?]+)?(?:\?([^#]+))?(?:#(.+$))?!i'; - preg_match ($r, Tools::getHttpHost(false, false), $out); + + if (!preg_match ($r, Tools::getHttpHost(false, false), $out) || !isset($out[4])) + return false; + if (preg_match('/^(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]{1}[0-9]|[1-9]).)'. '{1}((25[0-5]|2[0-4][0-9]|[1]{1}[0-9]{2}|[1-9]{1}[0-9]|[0-9]).)'. '{2}((25[0-5]|2[0-4][0-9]|[1]{1}[0-9]{2}|[1-9]{1}[0-9]|[0-9]){1}))$/', $out[4])) diff --git a/config/config.inc.php b/config/config.inc.php index 98a318f4c..80d31e32a 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -71,13 +71,18 @@ if (_PS_DEBUG_PROFILING_) /* Redefine REQUEST_URI if empty (on some webservers...) */ if (!isset($_SERVER['REQUEST_URI']) || empty($_SERVER['REQUEST_URI'])) { - if (basename($_SERVER['SCRIPT_NAME']) == 'index.php' && empty($_SERVER['QUERY_STRING'])) - $_SERVER['REQUEST_URI'] = dirname($_SERVER['SCRIPT_NAME']).'/'; - else + if (!isset($_SERVER['SCRIPT_NAME']) && isset($_SERVER['SCRIPT_FILENAME'])) + $_SERVER['SCRIPT_NAME'] = $_SERVER['SCRIPT_FILENAME']; + if (isset($_SERVER['SCRIPT_NAME'])) { - $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME']; - if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) - $_SERVER['REQUEST_URI'] .= '?'.$_SERVER['QUERY_STRING']; + if (basename($_SERVER['SCRIPT_NAME']) == 'index.php' && empty($_SERVER['QUERY_STRING'])) + $_SERVER['REQUEST_URI'] = dirname($_SERVER['SCRIPT_NAME']).'/'; + else + { + $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME']; + if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) + $_SERVER['REQUEST_URI'] .= '?'.$_SERVER['QUERY_STRING']; + } } }