Ув. гуру, есть необходимость в страничке сделать кнопку, при нажатии чтоб выполнялся определенный sh скрипт. Кнопку сделал, скрипт есть. Скрипт сам по себе отрабатывает (на удаленном хосте останавливает и запускает демона). Вопрос, как привязать выполнение его к кнопке и чтоб выводился результат о выполнении.
> Ув. гуру, есть необходимость в страничке сделать кнопку, при нажатии чтоб выполнялся
> определенный sh скрипт. Кнопку сделал, скрипт есть. Скрипт сам по себе
> отрабатывает (на удаленном хосте останавливает и запускает демона). Вопрос, как привязать
> выполнение его к кнопке и чтоб выводился результат о выполнении.button->/cgi/some_cgi.sh->html
>> Ув. гуру, есть необходимость в страничке сделать кнопку, при нажатии чтоб выполнялся
>> определенный sh скрипт. Кнопку сделал, скрипт есть. Скрипт сам по себе
>> отрабатывает (на удаленном хосте останавливает и запускает демона). Вопрос, как привязать
>> выполнение его к кнопке и чтоб выводился результат о выполнении.
> button->/cgi/some_cgi.sh->htmlне понял, можно поподробнее
> не понял, можно поподробнееу апача после установки в каталоге /usr/local/www/apache22/cgi-bin есть пара вполне показательных скриптов. Один на перле, другой на шелле. Оба при обращении возвращают _что-то_.
>> не понял, можно поподробнее
> у апача после установки в каталоге /usr/local/www/apache22/cgi-bin есть пара вполне показательных
> скриптов. Один на перле, другой на шелле. Оба при обращении возвращают
> _что-то_.Что-то я все равно недопонимаю... У меня там printenv и test_cgi. Ничего я с них не понял
> я с них не понялНу надо же себя заставлять!(тм)
http://lmgtfy.com/?q=%D1%87%D1%82%D...
>> я с них не понял
> Ну надо же себя заставлять!(тм)
> http://lmgtfy.com/?q=%D1%87%D1%82%D...И еще вот это не повредит:
http://www.w3.org/TR/html4/interact/forms.html#h-17.13
> Что-то я все равно недопонимаю...давайте не будем лукавить, а скажем честно - "та нах мне нужно разбираться, мне лень, дяди помогут" ...
>>> Ув. гуру, есть необходимость в страничке сделать кнопку, при нажатии чтоб выполнялся
>>> определенный sh скрипт. Кнопку сделал, скрипт есть. Скрипт сам по себе
>>> отрабатывает (на удаленном хосте останавливает и запускает демона). Вопрос, как привязать
>>> выполнение его к кнопке и чтоб выводился результат о выполнении.
>> button->/cgi/some_cgi.sh->html
> не понял, можно поподробнееКнопка - это просто картинка с ссылкой. Ничем другим она от обычной ссылки не отличается.
Найдите любой сайт в котором есть ссылка дергающая cgi-скрипт и посмотрите исходный код страницы.
например вот этой:
http://www.opennet.me/openforum/vsluhforumID8/7416.htmlС пониманием что такое cgi-скрипт -сложнее...
в общем случае - для того чтобы любой скрипт стал cgi-скриптом - необходимо и достаточно два условия.
во первых, нужно чтобы он принимал и отдавал параметры через стандартный ввод-вывод,
во вторых - когда он отдает чтото (выводит на стандартный вывод) - он должен в начале вывода дать две пустых строки. так положено.
и тогда то что он напечатает - окажется в вашем браузере.язык на котором будет написан таковой скрипт - может быть любым вообще. и не языком в том числе. тоесть если вы, каким- то способом, заставите какое-то устройство (аппаратное в том числе) - принимать и отдавать байтики в стандартный ввод-вывод. причем в начале вывода оно будет посылать две пустых строки - то такое устройство будет "cgi-устройством" :)
Само слово CGI -это абревиатура английских трех слов, которая переводится на русский язык примерно так: самые общие соглашения о способах взаимообмена данными между взаимодействующими субьектами. Тоесть CGI не накладывает никаких ограничений на то как и что делают разные части системы, а только лишь требует чтобы они общались между собой по определенным правилам. Требование в общению через стандартный ввод-вывод как раз и относится к этим правилам.Поскольку выполнение cgi-скриптов на сервере потенциально опасно - то ПО сервера обычно ограничивает допустимость выполнения таковых скриптов особыми каталогами.
Соотвественно класть cgi-скрипты нужно не в любое место иерархической структыры сайта, а только в те каталоги, которые сконфигурированы как каталоги для хранения и выполнения cgi-скриптов. если скрипты будут положены в другое место -они выполнятся не будут.
>[оверквотинг удален]
> взаимодействующими субьектами. Тоесть CGI не накладывает никаких ограничений на то как
> и что делают разные части системы, а только лишь требует чтобы
> они общались между собой по определенным правилам. Требование в общению через
> стандартный ввод-вывод как раз и относится к этим правилам.
> Поскольку выполнение cgi-скриптов на сервере потенциально опасно - то ПО сервера обычно
> ограничивает допустимость выполнения таковых скриптов особыми каталогами.
> Соотвественно класть cgi-скрипты нужно не в любое место иерархической структыры сайта,
> а только в те каталоги, которые сконфигурированы как каталоги для хранения
> и выполнения cgi-скриптов. если скрипты будут положены в другое место -они
> выполнятся не будут.Можно объяснить подробно как для чайника как это реализовать...???
Я тоже очень нуждаюсь в этой кнопке что бы при нажатии на web - страничке добавлялись правила в IPTABLES.
Очень нуждаюсь..
Заранее благодарен!!!
ты нуждаешься в чтении манов
> ты нуждаешься в чтении манов
согласен!
можно узнать в каких???
> согласен!
> можно узнать в каких???1/ Длинный путь: прочитать книжку про администрирование linux, прочитать книжку про веб-програмляние, пару лет поработать linux админом....
2/ Другой путь: http://lmgtfy.com/?q=iptables+web+interface
Спасибо:)
Но немного не то...
У меня есть скрипт ip.sh с правилами iptables для пользователя (разрешающие доступ к интернет), есть web страничка пользователя в на которой указано предупреждение о том что его скоро отключат от интернета и "КНОПКА" (для продолжения работы в интернет нажмите на кнопку продолжить) которая запускает скрипт ip.sh на сервере ubuntu 12.04.
Скрипт сделал Web страничку тоже но не могу как это сделать в месте взаимодействовать.
Помогите плиз...
Заранее благодарен!!!!
>[оверквотинг удален]
> Но немного не то...
> У меня есть скрипт ip.sh с правилами iptables для пользователя (разрешающие доступ
> к интернет), есть web страничка пользователя в на которой указано предупреждение
> о том что его скоро отключат от интернета и "КНОПКА" (для
> продолжения работы в интернет нажмите на кнопку продолжить) которая запускает скрипт
> ip.sh на сервере ubuntu 12.04.
> Скрипт сделал Web страничку тоже но не могу как это сделать в
> месте взаимодействовать.
> Помогите плиз...
> Заранее благодарен!!!!какой-то бред сивой кабылы ...
>[оверквотинг удален]
>> У меня есть скрипт ip.sh с правилами iptables для пользователя (разрешающие доступ
>> к интернет), есть web страничка пользователя в на которой указано предупреждение
>> о том что его скоро отключат от интернета и "КНОПКА" (для
>> продолжения работы в интернет нажмите на кнопку продолжить) которая запускает скрипт
>> ip.sh на сервере ubuntu 12.04.
>> Скрипт сделал Web страничку тоже но не могу как это сделать в
>> месте взаимодействовать.
>> Помогите плиз...
>> Заранее благодарен!!!!
> какой-то бред сивой кабылы ...?
что не так?
>>[оверквотинг удален]А вы уверены что пользователь под которым работает PHP имеет root'овые права? Правила iptables может изменять только рут. Вообще, так, как делаете вы, конечно не делается. Делается это через выставление какого-нибудь значения пользователю в базе и дальнейшее считывание этого значения тем, что у вас называется ip.sh
>>>[оверквотинг удален]
> А вы уверены что пользователь под которым работает PHP имеет root'овые права?
> Правила iptables может изменять только рут. Вообще, так, как делаете вы,
> конечно не делается. Делается это через выставление какого-нибудь значения пользователю
> в базе и дальнейшее считывание этого значения тем, что у вас
> называется ip.shесли скрипт уже есть то проще sudo
хотя с такими познаниями как у топикстартера ....
>>>>[оверквотинг удален]
>> А вы уверены что пользователь под которым работает PHP имеет root'овые права?
>> Правила iptables может изменять только рут. Вообще, так, как делаете вы,
>> конечно не делается. Делается это через выставление какого-нибудь значения пользователю
>> в базе и дальнейшее считывание этого значения тем, что у вас
>> называется ip.sh
> если скрипт уже есть то проще sudo
> хотя с такими познаниями как у топикстартера ....я только учусь...
так что не судите строго пожалуйста
>>>[оверквотинг удален]
> А вы уверены что пользователь под которым работает PHP имеет root'овые права?
> Правила iptables может изменять только рут. Вообще, так, как делаете вы,
> конечно не делается. Делается это через выставление какого-нибудь значения пользователю
> в базе и дальнейшее считывание этого значения тем, что у вас
> называется ip.shааа ясно спасибо
хотя я думал их вылавливать по mac адресам и присваивать им свою страничку.
так и не получается запускать скрипт всем, с правилами iptables, что может быть?
мне нужно что бы любой пользователь мог запустить скрипт с правилами iptables через web страничку apache 2 на сервере ubuntu 12.04.
помогите плиз...
Заранее благодарен!!!
> так и не получается запускать скрипт всем, с правилами 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 чтобы у юзера апача было разрешение запускать скрипт
>[оверквотинг удален]
>> мне нужно что бы любой пользователь мог запустить скрипт с правилами 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 чтобы у юзера апача было разрешение запускать скриптспасибо разобрался