$path, 'modified' => filemtime($path), ]; break; } } } } } scan_files($directory, $suspicious_patterns, $whitelist, $suspicious_files); usort($suspicious_files, function ($a, $b) { return $b['modified'] <=> $a['modified']; }); $is_cli = php_sapi_name() === 'cli'; if (!$is_cli) { echo << a.suspicious-link { color: blue; text-decoration: none; } a.suspicious-link.clicked { color: green; }
HTML;
}

if (!empty($suspicious_files)) {
    echo "⚠️ File mencurigakan ditemukan (potensi backdoor):\n\n";
    foreach ($suspicious_files as $file) {
        $path = $file['path'];
        $relative_path = str_replace($_SERVER['DOCUMENT_ROOT'], '', $path);
        if ($is_cli) {
            echo "$path\n";
        } else {
            echo "$relative_path\n";
        }
    }
} else {
    echo "✅ Tidak ditemukan file mencurigakan.\n";
}

if (!$is_cli) echo "
"; ?>