从Web浏览器(最重要的是IE),JS执行本地命令的最可靠方法是什么?

时间:2012-02-21 16:58:37

标签: javascript internet-explorer

我无法弄清IE中允许文件:URI运行可执行文件的安全设置(例如,window.location.open(“file:/// C | / Program Files / foo / bar.exe”) )。

是否有一个设置允许某些网站运行这样的东西,或者是否有某种类型的Java applet或ActiveX控件可以完成同样的事情?

感谢您的任何提示。

2 个答案:

答案 0 :(得分:2)

以下是使用WScript.Shell 仅限IE 的简单示例:当然,它会触发“此页面上的ActiveX控件...”警告。 (当然,这不是使用file:/// URI来启动应用程序,但页面是通过file:///加载的。)

在IE8中测试:

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript">
            (function () {
                var wsh = null;
                if ( self.ActiveXObject ) {
                    try {
                        wsh = new ActiveXObject( "WScript.Shell" );
                    } catch ( e ) {}
                    // Check for permission
                    if ( !wsh ) {
                        alert("Sorry, could not get permission");
                        return;
                    }
                    wsh.run("notepad.exe");
                    alert("Notepad should now be open");
                } else {
                    alert("Sorry, this example is IE-only");
                }
            })();
        </script>
    </head>
    <body>

    </body>
</html>

答案 1 :(得分:-1)

幸运的是,在任何情况下都不可能不使用漏洞或类似的黑客攻击。

这样做的ActiveX对象或Java小程序通常是恶意软件,或者至少被反病毒启发式视为恶意软件,因为它们通常就是这样。