2017-01-04 4 views
0

Я хочу, чтобы люди получали доступ к коммутатору, серверы на моем сайте благодаря шпатлевке. Пользователи будут видеть список всех устройств. Когда они нажмут на один из них, я хочу, чтобы шпатлевка открывалась с хорошим протоколом (ssh или telnet) и хорошим адресом. Если они нажмут на другое имя, это откроет шпатлевку по другому адресу.Запуск шпатлевки (с параметром) с веб-сайта с помощью JavaScript или PHP

Ex .: putty.exe -ssh 192.168.0.1

Моя идея состояла в том, чтобы начать cmd и выполнить эту команду в нем.

Я сначала пробовал PHP (system(), exec(), shell_exec()) но не работал. Теперь я ищу решение с JavaScript. Уже пробовал exec() и execute(), но не работал для меня.

Пока единственным решением, которое я нашел, было script.bat и введите в него команду Но это не то, что я ищу!. Более того, он работает только с IE, и мне нужно много скриптов, потому что есть много устройств.

Edit:

Мое желание сделать это на IE Функциональное И Mozilla.

  1. Я пробовал прямую ссылку, но в Mozilla он спрашивает, хотите ли вы загрузить файл, а не выполнить его.
  2. Использование JScript, который использует WshShell.Run и сохраняет страницу как .hta, заставляет ее работать, но буквально занимает 1 минуту, чтобы открыть Putty.
  3. Использование ссылки на JScript не работает, оно спрашивает меня, хочу ли я загрузить его, а не выполнить его.

Сервер может быть Windows или Linux, но пользователи будут использовать Windows для доступа к сайту. Я просто хочу использовать JScript/PHP на этом сайте. Кроме того, я не хочу, чтобы пользователь менял свою шпатлевку, я бы хотел, чтобы это было доступно каждому пользователю, у которого была установлена ​​шпатлевка (и добавлена ​​в PATH).

+3

Возможный дубликат [Запуск приложения из браузера] (http://stackoverflow.com/questions/3057576/launch-application- from-a-browser) –

+0

Если у вас нет контроля над конфигурацией локальной машины, но вы должны сообщить нам. –

+0

Если вы пытаетесь настроить соединение SSH, вы можете захотеть посмотрите библиотеку [phpseclib library] (https://packagist.org/packages/phpseclib/phpseclib). – Luceos

ответ

1

Хотя Мартин прав, что это дубликат Launch Application From Browser, ответы там не очень хорошие.

HTML определяет схему телнета - так что вы можете запустить Телнет путем добавления (например)

<a href="telnet://server.example.com">Run insecure telnet session</a> 

Однако это никогда не было официально пересмотрено с целью обеспечить поддержку SSH (некоторые браузеры поддерживают схемы клиента).

Почти каждый браузер позволяет настроить действие по умолчанию при загрузке файла данных определенного типа mimetype - и тип mime обычно расширяется. Но в отличие от файла RDP в связанном вопросе PuTTY does not support providing connection data via a file, только в командной строке. Можно было бы написать довольно простой клиент, который считывал данные из загруженного файла, а затем вызывал putty, заполняя командную строку целевым хостом, - но это также потребовало бы, чтобы клиент был развернут на всех целевых устройствах.

Другой вариант заключается в использовании клиента ssh running in the browser, а не изначально на клиенте.Также есть несколько приложений Java в aditiona для ресурсов, перечисленных в предыдущей ссылке.

+1

+1 - Фактически , вы правы, что я выбрал плохой дубликат, это гораздо более точный вариант: [HTML-код для открытия клиента PuTTY из браузера] (http://stackoverflow.com/q/17670067/850848). –

+0

Ну, это будет дубликат, если я хочу использовать пакетный скрипт ... Я изменил строку, чтобы вы могли понять, что я не ищу пакетный скрипт, который начнет заливку. Я хочу использовать PHP или JavaScript для выполнения этой работы! – Herolex

+0

@Herolex Проблема в том, что вы все еще не понимаете, что 1) Вы не можете выполнить локальное приложение, используя PHP-скрипт, запущенный на удаленном сервере. Это технически невозможно. 2) Вы не можете выполнить локальное приложение с использованием JavaScript. Хотя это будет технически возможно, так как JavaScript работает локально, это будет кошмар безопасности. Так что это запрещено. –

0

Теперь, когда я знаю, что это невозможно с PHP и очень трудно с JavaScript (не работал для меня) есть только два решения осталось:

  1. Использование пакетного файла, которые начинаются замазку с хорошими параметрами, но это работает только на IE. Это то, что сценарий должен содержать: старта «» «C: \ path_to_putty \ putty.exe». -ssh адрес»
  2. Использование„FireSSH“надстройку на Mozilla и хром для подключения в SSH к моим устройствам

Я выбрал второе. Спасибо всем за помощь! :)