Как присвоить переменной в php значение вывода из ssh запроса?

Автор kvip, 13 июля 2014, 10:13:42

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

kvip

Сабж.

Нужно переменную $test1 заполнить выводом команды, if [ -f /tmp/1.txt ]; then echo '1'; else echo '0'; fi

Как это сделать?

webdoc

во-первых, читаем здесь http://php.net/manual/en/function.shell-exec.php

во-вторых смотрим сюда )


$test1 = shell_exec('if [ -f /tmp/1.txt ]; then echo \'1\'; else echo \'0\'; fi');
echo "<pre>$test1</pre>";

bormant

Не поверю, что в php нет способа проверить существование файла собственными средствами.
if (file_exists("/tmp/1.txt"))
  $test1 = "1";
else
  $test1 = "0";

Graf

2kvip:
Я вот понять не могу, а где тут вывод ssh запроса, который нужно передать переменной?  :scratch_one-s_head_mini:
Запроса чего, пароля? Или все запросы по 22 порту?
Судя по твоему коду - это банальная проверка существования файла....

kvip

Цитата: webdoc от 14 июля 2014, 10:13:35
во-первых, читаем здесь http://php.net/manual/en/function.shell-exec.php

во-вторых смотрим сюда )

Спасибо большое, помогло. До этого использовал функцию пхп, что было не очень безопасно.
$test1 = shell_exec('if [ -f /tmp/1.txt ]; then echo \'1\'; else echo \'0\'; fi');
echo "<pre>$test1</pre>";

Спасибо большое, до этого использовал функцию php, что было менее безопасно.

webdoc

Цитата: bormant от 14 июля 2014, 22:31:03Не поверю, что в php нет способа проверить существование файла собственными средствами.

А действительно зачем вам shell_exec это огромная дыра в безопасности, ведь если злоумышленник сможет модифицировать вашу строку, то он фактический получит доступ к shell вашего сервера ?
Вообще функции типа dl, shell_exec, exec, system, passthru, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp д.б. отключены на сервере.

А вам, для проверки существования файла лучше использовать
bool is_file ( string $filename )
bool file_exists ( string $filename ) // но эта фукция также видит и каталоги типа /usr/bin

kvip

Я пишу панель управления хостингом для ОС slackware.
Часть безопасности обдумываю в процессе написания функций.
И пока что серьезных проблем не вижу.