Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выполнение команды шелл FreeBSD 
:(
    Опции темы
Helene
Дата 23.2.2006, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.2.2006
Где: Киев

Репутация: нет
Всего: нет



Нужно, чтобы работала такая схема - нажимаем кнопочку, выполняем определенный шелловый скрипт.
Каким образом возможно с помощью JavaScript это осуществить?
PM ICQ   Вверх
Greendrake
Дата 23.2.2006, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 364
Регистрация: 14.7.2005

Репутация: нет
Всего: 6



Нужно уточнить - где (на какой машине) по замыслу должна находиться кнопочка, и где шелловый скрипт?

Если кнопочка на клиенте, а скрипт на сервере, то что, JavaScript используется в качестве серверного языка (JSP) что ли??
PM MAIL   Вверх
Sardar
Дата 23.2.2006, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Helene, Если хотим интерактивный шелл в браузере, то пишем простейший терминал пользуя XMLHttpRequest, который просто будет отсылать введёный текст на сервер и выводить полученный текст юзеру. От силы 30 строк, смотри примеры по форуму.

На сервере, к примеру PHP, получает текст в $com_str, вызывает system($com_str);
Таким образом строим самую настоящую дыру, по которой любой может работать с шеллом. Благо сервер обычно в nobody работает, так что многое попротить не удасться, но удасться посмотреть пароли из конфигов и БД smile

На встречу: зачем это понадобилось и чем ssh не устраивает? Также согласнован ли такой финт ушами с твоим хостером, не думаю что парни будут в восторге.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Helene
Дата 24.2.2006, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.2.2006
Где: Киев

Репутация: нет
Всего: нет



Цитата

На встречу: зачем это понадобилось и чем ssh не устраивает? Также согласнован ли такой финт ушами с твоим хостером, не думаю что парни будут в восторге.


не смешно smile кроме того, для ssh уже есть подобные мульки.

а вообще, идея проста. нужно расширение, которое заставляет FireFox без лишних вопросов открывать файлы .mp3 указанной пользователем программой, т.е. по сути нам нужно в определенный момент выполнить команду на уровне "mplayer 123.mp3"
PM ICQ   Вверх
Sardar
Дата 24.2.2006, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Helene @ 24.2.2006, 11:12 Найти цитируемый пост)
а вообще, идея проста

Угу, и реализация тоже в пару строк, просто не встречал я ещё людей готовых так просто отдать шелл всему и-нету smile
Если никаких параметров не передаём (например имя файла), то лучше определить множество всех доступных комманд на сервере и вызывать их по ID. Также хорошо бы пароль спросить, да с sha1 хешем на сервере сравнить, хоть какая-то защита.

Что бы не было не поняток: из браузера ничего нельзя сделать на сервере, это логично. Можно на сервере запустить софт (скрипты), что будут "слушать" твои команды, передаваемые как угодно. Так, на всякий случай пояснил... smile

Админам хотим сюрприз устроить с музыкой? smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Helene
Дата 24.2.2006, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.2.2006
Где: Киев

Репутация: нет
Всего: нет



а зачем отдавать шелл всему инету??

судя по твоим словам, ты думаешь, что скриптик должен выполняться где-то далеко у хостера или еще у кого-то там. на самом деле, музыка должна играть у клиента smile разве не может клиент сидеть под FreeBSD? smile
PM ICQ   Вверх
Sardar
Дата 24.2.2006, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Ой, тогда меня далеко унесло от задачи... smile
WSH естественно под бздёй нет, остаёться браузер. Ну если только JS shell не стоит, но это вещь редкая. Из под браузера под мозиллой пользуем XPCOM, что бы играть музыку (xulplanet.com, но плохо задокументировано...). Запустить что то из шелла, такого не встечал...

Или не для браузера совсем плагин? Растолкуй внятно задачу, что есть, где работаеми т.д. А то насоветуем тут снова smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Helene
Дата 24.2.2006, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.2.2006
Где: Киев

Репутация: нет
Всего: нет



ну что ж, попробую все объяснить более подробно smile

нужно расширение для FireFox'a (оно же extension smile).

цель - открывать музыкальные файлики определенной программой.

примерный алгоритм:
1. ловим событие onload
2. по нему ищем на страничке все элементы с tagName=='a'
3. подменяем им атрибут onclick на "чего_то_там(); return false;"
4. соответственно, по клику вызывается это чего_то_там(), которое и запускает наш файлик (имеется в виду, что в исполняющую программу передается url файла, а она сама его скачивает). при этом стандартное окошко загрузки FireFox не появляется (спасибо return'у).

нужен совет по поводу реализации функции чего_то_там().
PM ICQ   Вверх
12345c
Дата 24.2.2006, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Да,
Helene, я догадывался, что будет всё так безобидно smile

Нужно что-то типа тега < EMBED... > использовать. Как вызываются апплеты и флеш.
PM WWW   Вверх
Sardar
Дата 24.2.2006, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Helene, лучше без шелла и расширения, играть музыку браузером (надеемся что все плагины стоят...), bgsound/embed, в поиске. Похоже это будет слито на CD с музоном, где пользователь бродилкой сможет файлы просматривать? При чём тогда бздя, работать должно везде.

Играем в ИЕ: http://forum.vingrad.ru/index.php?showtopi...st&p=140726
Играем в мозилле: http://forum.vingrad.ru/index.php?showtopi...st&p=313707

Опера должна bgsound поддерживать, остальные скорее всего только через embed/object:
обэцт: http://forum.vingrad.ru/index.php?showtopi...st&p=344719
embed в поиске, тег прост.



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Helene
Дата 24.2.2006, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.2.2006
Где: Киев

Репутация: нет
Всего: нет



да нет же smile

ко мне знакомый пришел с простым желанием "хочу, чтобы у меня FireFox играл музыку именно так, а не иначе". вот мне и интересно, возможно ли это и как эту затею воплотить в жизнь, хотя к JavaScript я имею весьма условное отношение.
PM ICQ   Вверх
Cheba
Дата 25.2.2006, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pointless one
***


Профиль
Группа: Vingrad developer
Сообщений: 1777
Регистрация: 27.11.2003
Где: /dev/null

Репутация: 1
Всего: 62



Вариант №1 (совсем не гибкий и не факт, что работает):
Код
var file = Components.classes["@mozilla.org/file/local;1"].
            createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("/home/helene/music/some.mp3");
file.launch();

Этот попробует выполнить действие по-умолчанию для файла. Обычно это то, что по двойному клику в файловом менеджере происходит. Будет работать только в системах, которые поддерживают действие по умолчанию. Предполагаю, что это Вынь, Маки и ГНОМ/КДЕ. Так же путь к файлу должен быть в той же кодировке, что и на файловой системе.

Ищем дальше...
Добавлено @ 00:51
Вариант №2 (совсем непроверенный):
Можешь еще посмотреть nsIMIMEInfo.
У него есть метод launchWithFile, который позволяет запустить обработчик типа фала. Можно свой обработчик типа создать. Тип фала (mime-type) достается из nsIMIMEService посредством метода getTypeFromFile.

Именно этим способом, например, пользуется менеджер закачек Лисы. Это когда лиса спрашивает что делать с фалом - сохранить или открыть с помощью какой-то проги.
PM MAIL ICQ   Вверх
Cheba
Дата 25.2.2006, 01:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pointless one
***


Профиль
Группа: Vingrad developer
Сообщений: 1777
Регистрация: 27.11.2003
Где: /dev/null

Репутация: 1
Всего: 62



Вариант №3 (я его таки нашел!):
Есть такой прикольный интерфейс - nsIProcess.
Он именно для того и предназначен - для запускания процессов.
Вот. smile

Это сообщение отредактировал(а) Cheba - 25.2.2006, 01:24
PM MAIL ICQ   Вверх
Ciber SLasH
Дата 25.2.2006, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



А для этих фич ещё нужно какое-то разрешение (сертификат/привилегии) или как?
Если да, то как их получить?
PM   Вверх
Cheba
Дата 25.2.2006, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pointless one
***


Профиль
Группа: Vingrad developer
Сообщений: 1777
Регистрация: 27.11.2003
Где: /dev/null

Репутация: 1
Всего: 62



Цитата(Helene @ 24.2.2006, 20:05 Найти цитируемый пост)
хочу, чтобы у меня FireFox играл музыку именно так, а не иначе

Songbird
Добавлено @ 16:12
Ciber SLasH, если из расширения, то не нужно. Если из веба, то нужно подписать скрипты. Подробнее можно почитать на DevMo: Bypassing Security Restrictions and Signing Code.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0634 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.