PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.18.8
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.18.8
1.19.8 1.19.7 1.19.6 1.19.5 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.12.0 1.13.0 1.14.0 1.15.0 1.15.1 1.15.2 1.15.3 1.16.0 1.16.1 1.16.2 1.16.3 1.16.4 1.16.5 1.16.6 1.16.7 1.16.8 1.17.0 1.17.6 1.17.7 1.17.8 1.17.9 1.18.0 1.18.1 1.18.2 1.18.3 1.18.4 1.18.5 1.18.6 1.18.7 1.18.8 1.18.9 1.19.0 1.19.1 1.19.2 1.19.3 1.19.4 1.3.19 1.3.20 1.4.0 1.4.1 1.5.0 1.5.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.16 1.5.17 1.5.18 1.5.19 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.7.0 1.7.1 1.8.0 1.8.1 1.8.3 1.9.0 1.9.1 1.9.2
nitropack / classes / Integration / Server / Sucuri.php
nitropack / classes / Integration / Server Last commit date
Cloudflare.php 1 year ago Fastly.php 1 year ago LiteSpeed.php 1 year ago NestifyCDN.php 1 year ago NginxFastCgi.php 1 year ago Sucuri.php 1 year ago
Sucuri.php
41 lines
1 <?php
2
3 namespace NitroPack\Integration\Server;
4
5 // We need this to control Sucuri in addition to any other proxy potentially provided by the origin host company
6 class Sucuri {
7 const STAGE = "very_early";
8
9 public static function detect() {
10 return !empty($_SERVER["HTTP_X_SUCURI_CLIENTIP"]) || !empty($_SERVER["HTTP_X_SUCURI_COUNTRY"]);
11 }
12
13 public static function isCacheEnabled() {
14 return self::detect() && !empty($_SERVER["HTTP_SEC_CH_UA_MOBILE"]);
15 }
16
17 public function init($stage) {
18 if (self::detect()) {
19 nitropack_header("Accept-CH: Sec-CH-UA-Mobile");
20
21 if (self::isCacheEnabled()) {
22 add_action('nitropack_cacheable_cache_headers', [$this, 'allowProxyCache'], PHP_INT_MAX-1);
23 add_action('nitropack_cachehit_cache_headers', [$this, 'allowProxyCache'], PHP_INT_MAX-1);
24 } else {
25 add_action('nitropack_cacheable_cache_headers', [$this, 'preventProxyCache'], PHP_INT_MAX-1);
26 add_action('nitropack_cachehit_cache_headers', [$this, 'preventProxyCache'], PHP_INT_MAX-1);
27 }
28 }
29 }
30
31 public function allowProxyCache() {
32 nitropack_header("Vary: sec-ch-ua-mobile");
33 nitropack_header("Cache-Control: public, max-age=0, s-maxage=15, stale-while-revalidate=3600");
34 }
35
36 public function preventProxyCache() {
37 nitropack_header("Cache-Control: no-cache");
38 }
39 }
40
41