Загрузите и запустите файл EXE после загрузки веб-сайта - PullRequest
3 голосов
/ 11 ноября 2009

Есть ли способ загрузить и запустить EXE-файл на стороне клиента после загрузки веб-страницы? [со скриптом Java или HTML]

Ответы [ 7 ]

3 голосов
/ 11 ноября 2009

Для этого есть (|| было) несколько интерфейсов JS, которые, скорее всего, заблокированы современными браузерами по очевидным причинам безопасности.

Так что либо ваши клиенты доверяют вам и устанавливают вам расширения [FF / IE / Safari / etc.], Либо ...

Однако, что касается способа расширения FF, см. Мой ответ в этой теме

короче:

запуск внешнего приложения в соответствии с этим сообщение может быть сделано следующим образом:

var file = Components.classes["@mozilla.org/file/local;1"]
                     .createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("c:\\myapp.exe");
file.launch();

Для IE вы можете попробовать для запуска этого

<script lang='vbscript'>
    set WshShell = WScript.CreateObject("WScript.Shell")
    WshShell.Run "C:\program files\program\program.exe"
</script>
2 голосов
/ 11 ноября 2009

На что посмотреть Java Web Start .

Это, очевидно, технология только для Java, но, по сути, она позволяет вам запускать локальное приложение с веб-страницы и делать это несколько более безопасным способом, чем запускать произвольный .EXE.

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

2 голосов
/ 11 ноября 2009

В MSIE для этого можно использовать ActiveX, но пользователь должен разрешить установку / запуск вашего элемента управления ActiveX. Если вы смотрите на некоторую среду, находящуюся под вашим контролем (например, на вашу компанию), это может быть способом. Давным-давно работали с законной функцией «удаленной установки»; в настоящее время проще попросить пользователя загрузить и запустить установщик (не зависящий от браузера, и пользователи научились это делать (задыхаясь!)).

Если вы имеете в виду «с JS / HTML из браузера», это называется «произвольное удаленное выполнение кода» и представляет собой довольно серьезную дыру в безопасности. Так что, к счастью, это невозможно (хотели бы вы, чтобы какой-либо веб-сайт запускал format c: на вашем компьютере? Так и думал).

1 голос
/ 11 ноября 2009

Юридически, нет.


Если вы хакер-кончатель:
Да уж. В старых версиях флеш-плеера есть дыра в безопасности (мне кажется, меньше 9), что позволяет вам это делать. Если вы достаточно умны, вы можете использовать это и запускать любой код на компьютере пользователя (по крайней мере, на Windows / Mac). См. эту ссылку для более подробной информации.

1 голос
/ 11 ноября 2009

Краткий ответ - Да, это может быть сделано. Длинный ответ - Нет, это невозможно сделать, и это ужасно плохая практика.

Позвольте мне объяснить.

Решающим фактором является безопасность, вы можете написать практически что угодно в JavaScript, включая код для запуска исполняемого файла, но большинство браузеров не позволяют запускать exe - потому что это, очевидно, огромный риск для безопасности.

Мое предложение, делайте все обычным способом, если вам требуется более качественная поддержка на стороне клиента, используйте апплет или даже active-x (но я бы этого избегал).

1 голос
/ 11 ноября 2009

Этого не следует делать, если пользователь хочет запустить exe-файл с вашего сайта, он с радостью загрузит его, а затем запустит его, однако, если сайт пытается автоматически запустить exe-файл, когда кто-то посещает сайт, это будет огромной безопасностьюуязвимость.

Что делает exe?Это может быть возможно сделать с JavaScript или даже на стороне сервера.Другими вариантами, если вы действительно хотите, чтобы клиенты запускали исполняемые файлы, было бы посмотреть что-то вроде .net click сразу после развертывания, где вы можете опубликовать исполняемый файл на своем сайте, а затем клиенты могут загрузить и установить с сайта, это дает преимущества таких вещей, какавтоматические обновления.

0 голосов
/ 11 ноября 2009

Нет, это будет дыра в безопасности. Веб-приложения пишутся только с использованием HTML / Javascript и иногда других технологий, таких как Flash, которые считаются достаточно безопасными для работы в браузерах. (Даже если у них иногда есть дыры в безопасности.)

...