The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Выполнение sh скриптов из apache (PHP)"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (Apache, http-серверы)
Изначальное сообщение [ Отслеживать ]

"Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от oleg.d on 01-Дек-11, 12:01 
Ув. гуру, есть необходимость в страничке сделать кнопку, при нажатии чтоб выполнялся определенный sh скрипт. Кнопку сделал, скрипт есть. Скрипт сам по себе отрабатывает (на удаленном хосте останавливает и запускает демона). Вопрос, как привязать выполнение его к кнопке и чтоб выводился результат о выполнении.
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Pahanivo (ok) on 01-Дек-11, 15:35 
> Ув. гуру, есть необходимость в страничке сделать кнопку, при нажатии чтоб выполнялся
> определенный sh скрипт. Кнопку сделал, скрипт есть. Скрипт сам по себе
> отрабатывает (на удаленном хосте останавливает и запускает демона). Вопрос, как привязать
> выполнение его к кнопке и чтоб выводился результат о выполнении.

button->/cgi/some_cgi.sh->html

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от oleg.d on 01-Дек-11, 16:55 
>> Ув. гуру, есть необходимость в страничке сделать кнопку, при нажатии чтоб выполнялся
>> определенный sh скрипт. Кнопку сделал, скрипт есть. Скрипт сам по себе
>> отрабатывает (на удаленном хосте останавливает и запускает демона). Вопрос, как привязать
>> выполнение его к кнопке и чтоб выводился результат о выполнении.
> button->/cgi/some_cgi.sh->html

не понял, можно поподробнее

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от DeadLoco (ok) on 02-Дек-11, 03:55 
> не понял, можно поподробнее

у апача после установки в каталоге /usr/local/www/apache22/cgi-bin есть пара вполне показательных скриптов. Один на перле, другой на шелле. Оба при обращении возвращают _что-то_.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от oleg.d on 02-Дек-11, 10:01 
>> не понял, можно поподробнее
> у апача после установки в каталоге /usr/local/www/apache22/cgi-bin есть пара вполне показательных
> скриптов. Один на перле, другой на шелле. Оба при обращении возвращают
> _что-то_.

Что-то я все равно недопонимаю... У меня там printenv и test_cgi. Ничего я с них не понял

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Andrey Mitrofanov on 02-Дек-11, 11:12 
> я с них не понял

Ну надо же себя заставлять!(тм)
http://lmgtfy.com/?q=%D1%87%D1%82%D...

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от DeadLoco (ok) on 02-Дек-11, 14:55 
>> я с них не понял
> Ну надо же себя заставлять!(тм)
> http://lmgtfy.com/?q=%D1%87%D1%82%D...

И еще вот это не повредит:
http://www.w3.org/TR/html4/interact/forms.html#h-17.13

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

6. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Pahanivo (ok) on 02-Дек-11, 13:00 
> Что-то я все равно недопонимаю...

давайте не будем лукавить, а скажем честно - "та нах мне нужно разбираться, мне лень, дяди помогут" ...

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Square (ok) on 02-Дек-11, 13:08 
>>> Ув. гуру, есть необходимость в страничке сделать кнопку, при нажатии чтоб выполнялся
>>> определенный sh скрипт. Кнопку сделал, скрипт есть. Скрипт сам по себе
>>> отрабатывает (на удаленном хосте останавливает и запускает демона). Вопрос, как привязать
>>> выполнение его к кнопке и чтоб выводился результат о выполнении.
>> button->/cgi/some_cgi.sh->html
> не понял, можно поподробнее

Кнопка - это просто картинка с ссылкой. Ничем другим она от обычной ссылки не отличается.
Найдите любой сайт в котором есть ссылка дергающая cgi-скрипт и посмотрите исходный код страницы.
например вот этой:
https://www.opennet.ru/openforum/vsluhforumID8/7416.html

С пониманием что такое cgi-скрипт -сложнее...
в общем случае - для того чтобы любой скрипт стал cgi-скриптом - необходимо и достаточно два условия.
во первых, нужно чтобы он принимал и отдавал параметры через стандартный ввод-вывод,
во вторых - когда он отдает чтото (выводит на стандартный вывод) - он должен в начале вывода дать две пустых строки. так положено.
и тогда то что он напечатает - окажется в вашем браузере.

язык на котором будет написан таковой скрипт - может быть любым вообще. и не языком в том числе. тоесть если вы, каким- то способом, заставите какое-то устройство (аппаратное в том числе) - принимать и отдавать байтики в стандартный ввод-вывод. причем в начале вывода оно будет посылать две пустых строки - то такое устройство будет "cgi-устройством" :)
Само слово CGI -это абревиатура английских трех слов, которая переводится на русский язык примерно так: самые общие соглашения о способах взаимообмена данными между взаимодействующими субьектами. Тоесть CGI не накладывает никаких ограничений на то как и что делают разные части системы, а только лишь требует чтобы они общались между собой по определенным правилам. Требование в общению через стандартный ввод-вывод как раз и относится к этим правилам.

Поскольку выполнение cgi-скриптов на сервере потенциально опасно - то ПО сервера обычно ограничивает допустимость выполнения таковых скриптов особыми каталогами.
Соотвественно класть cgi-скрипты нужно не в любое место иерархической структыры сайта, а только в те каталоги, которые сконфигурированы как каталоги для хранения и выполнения cgi-скриптов. если скрипты будут положены в другое место -они выполнятся не будут.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

9. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Zizya email on 21-Ноя-12, 22:54 
>[оверквотинг удален]
> взаимодействующими субьектами. Тоесть CGI не накладывает никаких ограничений на то как
> и что делают разные части системы, а только лишь требует чтобы
> они общались между собой по определенным правилам. Требование в общению через
> стандартный ввод-вывод как раз и относится к этим правилам.
> Поскольку выполнение cgi-скриптов на сервере потенциально опасно - то ПО сервера обычно
> ограничивает допустимость выполнения таковых скриптов особыми каталогами.
> Соотвественно класть cgi-скрипты нужно не в любое место иерархической структыры сайта,
> а только в те каталоги, которые сконфигурированы как каталоги для хранения
> и выполнения cgi-скриптов. если скрипты будут положены в другое место -они
> выполнятся не будут.

Можно объяснить подробно как для чайника как это реализовать...???
Я тоже очень нуждаюсь в этой кнопке что бы при нажатии на web - страничке добавлялись правила в IPTABLES.
Очень нуждаюсь..
Заранее благодарен!!!


Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Pahanivo (ok) on 22-Ноя-12, 08:36 
ты нуждаешься в чтении манов

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Zizya email on 22-Ноя-12, 09:17 
> ты нуждаешься в чтении манов
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Zizya email on 22-Ноя-12, 09:18 
согласен!
можно узнать в каких???


Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Andrey Mitrofanov on 22-Ноя-12, 10:08 
> согласен!
> можно узнать в каких???

1/ Длинный путь: прочитать книжку про администрирование linux, прочитать книжку про веб-програмляние, пару лет поработать linux админом....

2/ Другой путь: http://lmgtfy.com/?q=iptables+web+interface

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "Выполнение sh скриптов из apache (PHP)"  –1 +/
Сообщение от Zizya email on 22-Ноя-12, 20:34 
Спасибо:)
Но немного не то...
У меня есть скрипт ip.sh с правилами iptables для пользователя (разрешающие доступ к интернет), есть web страничка пользователя в на которой указано предупреждение о том что его скоро отключат от интернета и "КНОПКА" (для продолжения работы в интернет нажмите на кнопку продолжить) которая запускает скрипт ip.sh на сервере ubuntu 12.04.
Скрипт сделал Web страничку тоже но не могу как это сделать в месте взаимодействовать.
Помогите плиз...
Заранее благодарен!!!!
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "Выполнение sh скриптов из apache (PHP)"  +1 +/
Сообщение от Pahanivo (ok) on 23-Ноя-12, 09:48 
>[оверквотинг удален]
> Но немного не то...
> У меня есть скрипт ip.sh с правилами iptables для пользователя (разрешающие доступ
> к интернет), есть web страничка пользователя в на которой указано предупреждение
> о том что его скоро отключат от интернета и "КНОПКА" (для
> продолжения работы в интернет нажмите на кнопку продолжить) которая запускает скрипт
> ip.sh на сервере ubuntu 12.04.
> Скрипт сделал Web страничку тоже но не могу как это сделать в
> месте взаимодействовать.
> Помогите плиз...
> Заранее благодарен!!!!

какой-то бред сивой кабылы ...

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Zizya email on 23-Ноя-12, 09:57 
>[оверквотинг удален]
>> У меня есть скрипт ip.sh с правилами iptables для пользователя (разрешающие доступ
>> к интернет), есть web страничка пользователя в на которой указано предупреждение
>> о том что его скоро отключат от интернета и "КНОПКА" (для
>> продолжения работы в интернет нажмите на кнопку продолжить) которая запускает скрипт
>> ip.sh на сервере ubuntu 12.04.
>> Скрипт сделал Web страничку тоже но не могу как это сделать в
>> месте взаимодействовать.
>> Помогите плиз...
>> Заранее благодарен!!!!
> какой-то бред сивой кабылы ...

?
что не так?

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Александр (??) on 23-Ноя-12, 11:13 
>>[оверквотинг удален]

А вы уверены что пользователь под которым работает PHP имеет root'овые права? Правила iptables может изменять только рут. Вообще, так, как делаете вы, конечно не делается. Делается это через выставление какого-нибудь значения пользователю в базе и дальнейшее считывание этого значения тем, что у вас называется ip.sh

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Pahanivo (ok) on 23-Ноя-12, 13:15 
>>>[оверквотинг удален]
> А вы уверены что пользователь под которым работает PHP имеет root'овые права?
> Правила iptables может изменять только рут. Вообще, так, как делаете вы,
> конечно не делается. Делается это через выставление какого-нибудь значения пользователю
> в базе и дальнейшее считывание этого значения тем, что у вас
> называется ip.sh

если скрипт уже есть то проще sudo
хотя с такими познаниями как у топикстартера ....

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

20. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Zizya email on 23-Ноя-12, 20:25 
>>>>[оверквотинг удален]
>> А вы уверены что пользователь под которым работает PHP имеет root'овые права?
>> Правила iptables может изменять только рут. Вообще, так, как делаете вы,
>> конечно не делается. Делается это через выставление какого-нибудь значения пользователю
>> в базе и дальнейшее считывание этого значения тем, что у вас
>> называется ip.sh
> если скрипт уже есть то проще sudo
> хотя с такими познаниями как у топикстартера ....

я только учусь...
так что не судите строго пожалуйста

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

19. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Zizya email on 23-Ноя-12, 20:24 
>>>[оверквотинг удален]
> А вы уверены что пользователь под которым работает PHP имеет root'овые права?
> Правила iptables может изменять только рут. Вообще, так, как делаете вы,
> конечно не делается. Делается это через выставление какого-нибудь значения пользователю
> в базе и дальнейшее считывание этого значения тем, что у вас
> называется ip.sh

ааа ясно спасибо
хотя я думал их вылавливать по mac адресам и присваивать им свою страничку.


Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

21. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Zizya email on 25-Ноя-12, 00:28 
так и не получается запускать скрипт всем, с правилами iptables, что может быть?
мне нужно что бы любой пользователь мог запустить скрипт с правилами iptables через web страничку apache 2 на сервере ubuntu 12.04.
помогите плиз...
Заранее благодарен!!!
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

22. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от ne4to (ok) on 25-Ноя-12, 15:25 
> так и не получается запускать скрипт всем, с правилами iptables, что может
> быть?
> мне нужно что бы любой пользователь мог запустить скрипт с правилами iptables
> через web страничку apache 2 на сервере ubuntu 12.04.
> помогите плиз...
> Заранее благодарен!!!

apt-get install php5 libapache2-mod-php5

nano /var/www/localhost/html/index.php

<?php
system("sudo /path/to/script/ip.sh {$_SERVER['REMOTE_ADDR']}");
?>

подправить /etc/sudoers чтобы у юзера апача было разрешение запускать скрипт

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

23. "Выполнение sh скриптов из apache (PHP)"  +/
Сообщение от Zizya email on 27-Ноя-12, 10:10 
>[оверквотинг удален]
>> мне нужно что бы любой пользователь мог запустить скрипт с правилами iptables
>> через web страничку apache 2 на сервере ubuntu 12.04.
>> помогите плиз...
>> Заранее благодарен!!!
> apt-get install php5 libapache2-mod-php5
> nano /var/www/localhost/html/index.php
> <?php
> system("sudo /path/to/script/ip.sh {$_SERVER['REMOTE_ADDR']}");
> ?>
> подправить /etc/sudoers чтобы у юзера апача было разрешение запускать скрипт

спасибо разобрался

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру