Как запустить приложение под win
Доброго времени суток уважаемые форумчане! Может конечно не совсем сюда пишу, но тем не менее, задача такая: необходимо запустить приложение на локальной машине кликом по ссылке, а если быть точнее, то проводник, а если быть еще точнее, то проводник на моей машине, когда сервер стоит на другой машине. PHP приложения выполнять умеет командой exec, т.е. на той машине на которой стоит сервер, я по ссылке открыть папочку могу так:
dir = 'explorer.exe D:\server\home\www\folder'; exec($dir); Задача стоит в том, чтобы эта папочка открывалась на машине в локальной сети по адресу: \\192.168.0.1\server\home\www\folder Как я понимаю, php здесь уже не подходит, ибо он выполняет только команды на сервере... Есть какие мысли, как решить такую проблему? javascript? или еще может что? IE с его activeX не предлагать. |
Ответ: Как запустить приложение под win
т.е. запустить рандомный ехе с твоего харда кликом по ссылке в браузере? это же ппц дыра безопасности - все способы это сделать давно закрыли.
|
Ответ: Как запустить приложение под win
Да, извращение, конечно, приличное.
Тут не обойтись без обработчика на локальной машине. Потому что это уже отдельный комп, и сервер ему не указ (если бы можно было за здорово живёшь делать exec на соседних машинах, был бы трындец). Из браузера при помощи javascript'а тоже нельзя ничего выполнять в системе, безопасность-с. Если каждый сайт сможет на компе юзера открывать проводних (хотя бы!) был бы адъ. Локальная машина, я так понимаю, Виндовая? Тогда вариант с ssh не катит. Мне первым пришёл в голову вот такой путь. Может, он довольно нелепый, но мне кажется наиболее быстрым и наименее трудоёмким. На локальной машине тоже ставим веб-сервак (WAMP например). Кроме того под такую задачу не лишним будет сделать отдельный виртуальный хост и дал доступ к нему ТОЛЬКО с 192.168.0.1. То есть чтобы с любого другого хоста нельзя было этой штукенцией воспользоваться (меры безопасности). На нём заводим php-файлик, где: 1. Проверяем, пришёл ли запрос от 192.168.0.1, если нет, то PHP код:
3. Присобачиваем его к строчке 'explorer.exe ' 4. exec'им это дело. В идеале ещё бы неплохо сделать проверку, пришёл ли действительно путь, или туда ещё пытаются вклинить какие-то ещё команды. Соответственно на твоём серваке при клике на ссылку мы вызываем php'шник с локальной машины, чтоб он сработал (хотя бы так): PHP код:
Вариант: вызывать загрузку страницы 'http://айпишник-локальной-машины/путь-к-похапэшнику.php?path=путь-для-открытия' прямо из javascript'а при помощи ajax-запроса (например через jQuery). Тогда во-первых избавимся вообще от чего бы то ни было на серваке. Во-вторых можно будет в будущем себе юзерскрипт насобачить, чтобы тебе на странице делал ссылку "открыть файл где сие лежит" (я так понял ты этого в конечно итоге хотел?). Ну то есть на жабе это будет выглядеть как: PHP код:
Конечно, вариант подымать Apache + php на локальной машине только заради этого выглядит для кого-то абсурдно. Можно на C# например написать обработчик, который будет делать то же самое. Короче тут вариантов много я предложил только один из них. |
Ответ: Как запустить приложение под win
Ну вообще эксплорер посылает такие указы нахрен, ибо доверяет он только файлам с расширение hta в этом случае. Но там свои вопросы.
Собственно все автораны от пиратов в нулевые были сделаны из браузера и hta файлов с сылками на локальные файлы. |
Ответ: Как запустить приложение под win
Да взять и написать клиент-сервер по бырому, хоть на блице - дел то на 5 минут. Нафик извраты городить:Р.
|
Ответ: Как запустить приложение под win
Цитата:
|
Ответ: Как запустить приложение под win
В общем на одной машине(на сервере) у меня стоит денвер с папочками и файликами, на сервере все работает норм, хочу чтобы на машине которая в локалке тоже открывались папочки с файликами. Как уже писали выше в голову пришел только способ как установить на машине тоже денвер со всеми скриптами и доступом к мускулу который на сервере и в нем уже открывать локальный проводник в котором открывать удаленную папку, но это очень не удобно, машин в офисе много и за ними сидят курицы. javascript не знаю, но по моему только он выполняется непосредственно на клиентской машине.
|
Ответ: Как запустить приложение под win
Или тупо писать приложение на С++ с коннектом к мускулу и обрабатывать все сценарии в нем... уже исключительно на локальной машине.
|
Ответ: Как запустить приложение под win
Что-то вообще не понятно чего ТСу надо:). Открыть папочку в локальной сети? Так это стандартными средствами вообще делается - настройки общего доступа.
Много машин с курицами? Прям курятник:Р Сделай на каждой ярлычки на нужные сетевые папки. Если не это, то получается удаленно на сервере надо запустить проводник, который зайдет в определенную папку... Вот только зачем это? Запустится он, так и будет висеть на удаленном сервере.:) |
Ответ: Как запустить приложение под win
Нашёл способ упросить дело.
http://kb.mozillazine.org/Register_protocol Регистрируем протокол в системе (там дан пример reg-файлика). Тогда сможем запускать нужную программу из окна браузера с параметром командной строки (куда сунем путь к папке). Хотел напрямую увязать на explorer.exe, но тот не захотел открывать таким образом (см. пост 4). То есть как ни крути всё равно нужна какая-то программа-прослойка на клиенте. Возможно, её можно свести до батника. |
Часовой пояс GMT +4, время: 23:49. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot