From b229d7070198568cd28df7af0efdca632d8f41f4 Mon Sep 17 00:00:00 2001 From: ARNO* <arno@rezo.net> Date: Thu, 24 Jan 2008 11:55:09 +0000 Subject: [PATCH] $_SERVER["HTTP_REFERER"] ne fonctionne pas partout --- ecrire/public/stats.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/ecrire/public/stats.php b/ecrire/public/stats.php index 5c9a66879c..13182678e1 100644 --- a/ecrire/public/stats.php +++ b/ecrire/public/stats.php @@ -14,7 +14,10 @@ if (!defined("_ECRIRE_INC_VERSION")) return; // http://doc.spip.org/@public_stats_dist function public_stats_dist() { - + // $_SERVER["HTTP_REFERER"] ne fonctionne pas partout + if (isset($_SERVER['HTTP_REFERER'])) $referer = $_SERVER['HTTP_REFERER']; + else if (isset($GLOBALS["HTTP_SERVER_VARS"]["HTTP_REFERER"])) $referer = $GLOBALS["HTTP_SERVER_VARS"]["HTTP_REFERER"]; + // Rejet des robots (qui sont pourtant des humains comme les autres) if (preg_match( ',google|yahoo|msnbot|crawl|lycos|voila|slurp|jeeves|teoma,i', @@ -31,14 +34,14 @@ function public_stats_dist() { // Analyse du referer $log_referer = ''; - if (isset($_SERVER['HTTP_REFERER'])) { + if (isset($referer)) { $url_site_spip = preg_replace(',/$,', '', preg_replace(',^(https?://)?(www\.)?,i', '', url_de_base())); if (!(($url_site_spip<>'') - AND strpos('-'.strtolower($_SERVER['HTTP_REFERER']), strtolower($url_site_spip)) - AND strpos($_SERVER['HTTP_REFERER'],"recherche=")===false)) { - $log_referer = $_SERVER['HTTP_REFERER']; + AND strpos('-'.strtolower($referer), strtolower($url_site_spip)) + AND strpos($referer,"recherche=")===false)) { + $log_referer =$referer; } } -- GitLab