Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.12.2012, 20:41   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Выполнение консольных команд через Web

Есть в PHP интересная функция
string shell_exec ( string $cmd )

shell_exec — Выполняет команду через шелл и возвращает полный вывод в виде текста

В примере демонстрирую выполнение команды ls /dev
PHP код:
<?php
$output 
shell_exec('ls /dev');
echo 
"<pre>$output</pre>";
?>
Запускаем скрипт из любого браузера и в ответ видим список устройств роутера

Нажмите на изображение для увеличения
Название: term.png
Просмотров: 1094
Размер:	8.4 Кб
ID:	702
Admin вне форума   Ответить с цитированием
Старый 28.12.2012, 20:58   #2
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Воодушевлённый этой темой решил написал PHP скрипт при помощи которого удаленно ,
c мобильного телефона, через интернет, не имея под рукой putty я смогу управлять своим роутером.

PHP код:
           <form method="post" class="well form-inline">
                   
                   <input name="shell" type="text" style="width:55%">
                <button type="submit" >отправить</button>
           </form>
<?php
$output 
shell_exec($_POST['shell']);
?>

<textarea rows="11" name="code"  style="width:55%"><?=$output?></textarea>
Вот пример работы скрипта
Нажмите на изображение для увеличения
Название: cons.png
Просмотров: 1309
Размер:	11.3 Кб
ID:	703

P.S.
Веб консоль на uhttpd + cgi
Admin вне форума   Ответить с цитированием
Старый 29.12.2012, 00:31   #3
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию

Клёво!!!!!
Только я бы всё таки удалил telnet c роутера и пользовал ssh. Шифрованый протокол.
На андройде удобная прога для этого ConnectBot . Там где ssh, пишешь: логин, собака , адрес ([email protected]), вводишь пароль и ты на роутере.
Ещё хорошая штука для андройда SSHDroid, это сервер, запускаешь его, он тебе показывает по какому адресу можно зайти на телефон (по wifi).
Нужен только клиент ssh для горе-OS )))
В линуксе mc->панель->shell соединение.

Последний раз редактировалось stD; 29.12.2012 в 02:53.
stD вне форума   Ответить с цитированием
Старый 04.01.2013, 20:23   #4
Balentin
Junior Member
 
Регистрация: 07.10.2012
Адрес: Тверь
Сообщений: 10
Вес репутации: 0
Balentin is an unknown quantity at this point
По умолчанию

Здравствуйте! при попытке выполнить пример который в шапке темы у меня ошибка Unable to launch the requested CGI program:
/www/cgi-bin/1.php: Exec format error подскажите как её побороть пожалуйста!
Balentin вне форума   Ответить с цитированием
Старый 04.01.2013, 20:26   #5
Balentin
Junior Member
 
Регистрация: 07.10.2012
Адрес: Тверь
Сообщений: 10
Вес репутации: 0
Balentin is an unknown quantity at this point
По умолчанию

И еще вопрос можно как то прикрутить срипты на sh к web интерфейсу ?
Balentin вне форума   Ответить с цитированием
Старый 05.01.2013, 05:48   #6
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию

Цитата:
Здравствуйте! при попытке выполнить пример который в шапке темы у меня ошибка Unable to launch the requested CGI program:
/www/cgi-bin/1.php: Exec format error подскажите как её побороть пожалуйста!
Видимо когда ставил php, то что-то не доставил!
Вот отсюда всё ставил?
Цитата:
opkg update
opkg install lighttpd lighttpd-mod-cgi lighttpd-mod-access lighttpd-mod-redirect zoneinfo-core zoneinfo-europe libsqlite3 php5-cgi php5-mod-pdo php5-mod-sqlite php5-mod-gd php5-mod-session
http://cyber-place.ru/showpost.php?p=1356&postcount=8
stD вне форума   Ответить с цитированием
Старый 05.01.2013, 06:04   #7
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию

Цитата:
И еще вопрос можно как то прикрутить срипты на sh к web интерфейсу ?
А зачем??? Если у тебя уже есть доступ к машине, так и юзай ssh-клиента!!!!!
stD вне форума   Ответить с цитированием
Старый 05.01.2013, 13:25   #8
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Цитата:
И еще вопрос можно как то прикрутить срипты на sh к web интерфейсу ?
Теоретически что бы браузер запускал скрипты нужно внести следующий изменения в фаил lighttpd.cong
Цитата:
cgi.assign = ( ".sh" => "", ".pl" => "/usr/bin/perl", ".cgi" => "/usr/bin/perl", ".php" => "/usr/bin/php-cgi" )
После этого перезапустить сервер и запустить Ваш скрипт из html или из адресной строки браузера
Не забываем дать скрипту права chmod -R 555 MyScript.sh

Я запустил из адресной строки, скрипт управлял светодиодами роутера
http://192.168.1.20:81/button/MyScript.sh

Для тестов можете попробовать простой скрипт
Код:
#!/bin/sh

echo "hello world"
Название: ddd.png
Просмотров: 7098

Размер: 4.0 Кб
Admin вне форума   Ответить с цитированием
Старый 12.01.2013, 01:33   #9
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию

Эдуард, у тебя же телефон на Андройде, зачем тебе это? Да и putty вроде работает в качестве ssh-клиента?
stD вне форума   Ответить с цитированием
Старый 12.01.2013, 09:50   #10
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Для того чтобы выполнять команды из html
Admin вне форума   Ответить с цитированием
Ответ


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

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

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


Текущее время: 00:19. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика