%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY Donat Was Here
DonatShell
Server IP : 122.155.177.87  /  Your IP : 122.155.177.87
Web Server : Apache/2
System : Linux cat177-87.static.lnwhostname.com 3.10.0-1160.62.1.el7.x86_64 #1 SMP Tue Apr 5 16:57:59 UTC 2022 x86_64
User : apache ( 994)
PHP Version : 5.3.29
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,putenv,eval
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/thungkhana/domains/thungkhanan.go.th/public_html/captchacp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /home/thungkhana/domains/thungkhanan.go.th/public_html/captchacp/check_thai_ip.php
<?php
/* ============================================================
 * 1) ฟังก์ชันตรวจ IP อยู่ใน CIDR (รองรับทั้ง IPv4 และ IPv6)
 * ============================================================ */
if (!function_exists('___ip_in_network')) {
    function ___ip_in_network($ip, $net_addr, $net_mask) {
        $net_mask = (int) $net_mask;
        if ($net_mask < 0) { return false; }

        $ip_bin  = @inet_pton($ip);
        $net_bin = @inet_pton($net_addr);

        if ($ip_bin === false || $net_bin === false) { return false; }
        if (strlen($ip_bin) !== strlen($net_bin))    { return false; }

        $max_bits = strlen($ip_bin) * 8;
        if ($net_mask > $max_bits) { $net_mask = $max_bits; }
        if ($net_mask === 0) { return true; }

        $whole_bytes = intdiv($net_mask, 8);
        $extra_bits  = $net_mask % 8;

        if ($whole_bytes > 0 && strncmp($ip_bin, $net_bin, $whole_bytes) !== 0) {
            return false;
        }
        if ($extra_bits > 0) {
            $mask = ~(0xff >> $extra_bits) & 0xff;
            if ((ord($ip_bin[$whole_bytes]) & $mask) !== (ord($net_bin[$whole_bytes]) & $mask)) {
                return false;
            }
        }
        return true;
    }
}

/* ============================================================
 * 2) หา IP ผู้ใช้จริง
 * ============================================================ */
$___client_ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';

/* ============================================================
 * 3) ตรวจเฉพาะ Bot / Scanner ตัวจริงเท่านั้น (ปิดการดัก 'select ' ป้องกันการจับมั่ว)
 * ============================================================ */
if (!function_exists('___looks_dangerous')) {
    function ___looks_dangerous() {
        $ua = isset($_SERVER['HTTP_USER_AGENT']) ? strtolower($_SERVER['HTTP_USER_AGENT']) : '';
        
        // บล็อกเฉพาะโปรแกรมสแกนช่องโหว่ทางไซเบอร์ที่ชัดเจนเท่านั้น
        $bad_agents = array(
            'sqlmap', 'nikto', 'nmap', 'masscan', 'acunetix',
            'nessus', 'fimap', 'havij', 'zgrab', 'dirbuster',
            'wpscan', 'hydra'
        );
        
        // ถ้าไม่มี User-Agent เลย หรือเป็นเครื่องมือยิงสแกน ให้บล็อก
        if ($ua === '') { return true; }
        foreach ($bad_agents as $b) {
            if (strpos($ua, $b) !== false) { return true; }
        }

        // *** ยกเลิกการตรวจ $bad_patterns (select, ../, <script) ใน Query String ตรงนี้ ***
        // เนื่องจากทำให้คนใช้งานทั่วไปที่โพสต์ข้อความปกติโดนบล็อก 403

        return false;
    }
}

/* ============================================================
 * 4) การตัดสินใจ
 * ============================================================ */
// ตรวจสอบเฉพาะว่าเป็นโปรแกรมโจมตี (Bot Scanner) หรือไม่เท่านั้น
if (___looks_dangerous()) {
    http_response_code(403);
    header('Content-Type: text/html; charset=utf-8');
    echo "<center><h3>403 Forbidden: Access Denied (Security Check Failed)</h3></center>";
    exit();
}

// ปล่อยให้คนทั่วไปเข้าใช้งานและโพสต์เว็บบอร์ดได้ตามปกติ
?>

Anon7 - 2022
AnonSec Team