加载网站后加载并运行EXE文件

时间:2009-11-11 09:51:29

标签: javascript html client client-side exe

在加载网页后,有没有办法在客户端加载和运行EXE文件? [使用java脚本或HTML]

7 个答案:

答案 0 :(得分:2)

由于安全性显而易见,因此有几个JS接口,很可能被现代浏览器阻止。

因此,要么您的客户信任您并安装[FF / IE / Safari /等]扩展程序或......

但是,对于FF扩展方式,请参阅此thread

的答案

简而言之:

  

外部应用程序启动   根据这个post可以按如下方式完成:

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>

答案 1 :(得分:2)

在MSIE中,可以使用ActiveX - 但用户必须允许安装/执行ActiveX控件。如果您正在查看受您控制的某些环境(例如您的公司),这可能是一种方式。很久以前,曾经使用过像这样的合法“远程安装”功能;如今,要求用户下载并执行安装程序更容易(不依赖于浏览器,用户已经学会了如何执行此操作(喘息!))。

如果您的意思是“使用浏览器中的JS / HTML”,那就称为“任意远程代码执行”,这是一个相当严重的安全漏洞。所以,幸运的是,这是不可能的(您希望任何网站在您的计算机上运行format c:吗?如此)。

答案 2 :(得分:2)

要研究的是Java Web Start

这显然是一种纯Java技术,但它本质上允许您从Web页面启动本地应用程序,并且以比启动任意.EXE更安全的方式执行此操作。

另一个好处是,它允许您只需更新站点上的存储库副本即可将应用程序更新部署到所有用户 - 自动提取更新。

答案 3 :(得分:1)

这不应该这样做,如果用户想要从您的网站运行exe,他们会很乐意下载然后运行它,但是如果该网站试图在有人访问该网站时自动运行exe,这将是一个巨大的安全性vulnrability。

exe是什么用的?这可能与javascript甚至服务器端有关。如果你真的希望客户端运行可执行文件,其他选项是查看.net点击一次部署,你可以将可执行文件发布到你的站点,然后客户端可以从站点下载和安装,这带来了类似的优势自动更新。

答案 4 :(得分:1)

简短回答 - 是的,可以做到。 答案很长 - 不能做到这一点,也不是非常糟糕的做法。

让我解释一下。

安全性是决定因素,您可以用JavaScript编写任何内容,包括启动可执行文件的代码,但大多数浏览器都不允许您启动exe - 因为它显然存在巨大的安全风险。

我的建议,以传统的方式做事,如果你需要更好的客户端支持,使用applet甚至active-x(但我会避免这种情况)。

答案 5 :(得分:1)

合法,不。


如果你是黑客兼饼干:
是啊。旧版Flash播放器中有一个安全漏洞(我相信不到9个)允许你这样做。如果你足够聪明,你可以利用它并在用户的机器上运行任何代码(至少在windows / mac上)。有关详细信息,请参阅this link

答案 6 :(得分:0)

不,这将是一个安全漏洞。 Web应用程序仅使用HTML / Javascript编写,有时使用Flash等其他技术,这些技术被认为足以在浏览器中运行。 (尽管他们有时也有安全漏洞。)