From c69d635a4d3a31fca2735428df7bf1926d883168 Mon Sep 17 00:00:00 2001 From: Urban Müller Date: Thu, 24 Oct 2013 12:13:26 +0000 Subject: prevent proxy caching, add jquery to md5 --- itjs.class | 7 ++++--- itjs.php | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/itjs.class b/itjs.class index f40a380..6a2053d 100644 --- a/itjs.class +++ b/itjs.class @@ -157,7 +157,7 @@ static function filecontents($filenames, $execphp = true) { ob_start(); # Needs to capture inside loop to guarantee file order if (!(it::match('W3C_CSS_Validator', $_SERVER['HTTP_USER_AGENT']) && it::match('jquery-ui\.css', $filename))) - $result .= it::replace(array('^1$' => ""), $execphp ? @include($filename) : file_get_contents($filename), array('utf8' => false)); + $result .= it::replace(array('^1$' => ""), $execphp ? @include($filename) : @file_get_contents($filename), array('utf8' => false)); $result .= ob_get_clean(); } @@ -190,9 +190,10 @@ static function strip($code) */ static function checksum($fnlist) { - $key = "itjs_" . md5(join("", it::map('"$v" . filemtime("$v")', is_array($fnlist) ? $fnlist : itjs::filenames($fnlist)))); + $filenames = array_merge(is_array($fnlist) ? $fnlist : itjs::filenames($fnlist), array("/www/lib.search.ch/var/jquery-ui/dist/minified/jquery.ui.core.min.js", "/www/lib.search.ch/var/jquery/dist/jquery.min.js")); + $key = "itjs_" . md5(join("", it::map('"$v" . filemtime("$v")', $filenames))); - return it_cache::get($key) ?: it_cache::put($key, substr(md5(self::filecontents(is_array($fnlist) ? $fnlist : itjs::filenames($fnlist), false)), 0, 8)); + return it_cache::get($key) ?: it_cache::put($key, substr(md5(self::filecontents($filenames, false)), 0, 8)); } } diff --git a/itjs.php b/itjs.php index 90c9252..de98114 100644 --- a/itjs.php +++ b/itjs.php @@ -62,7 +62,7 @@ else if (!it::match('\.html$', $file)) if (!preg_match('/Opera/', $_SERVER['HTTP_USER_AGENT']) && it::is_live() && !$_REQUEST['retry']) { - header("Cache-Control: max-age=604800"); + header("Cache-Control: max-age=604800, private"); # proxies should not cache since contents of same url can differ between browsers header("Expires: " . gmdate("D, d M Y H:i:s", time()+604800). " GMT"); } -- cgit v1.2.3