javascript - 将 URL 从 javascript 传递到 ActiveX 会是一个安全漏洞吗?

标签 javascript c++ activex

我有一个 ActiveX 控件,它基本上检查是否安装了我们公司的软件之一,如果没有安装它。 (出于某些原因,我的老板不想只下载 exe,他希望 ActiveX 控件启动 setup.exe)。 现在,如果我从 JavaScript 传递 URL 和程序名称会不会很糟糕?

到目前为止,这是我的 idl 界面:

    //  Primary dispatch interface for CMyAwesomeControl
[ 
    uuid(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)  
]
dispinterface _DMyAwesomeControl
{
    properties:
    methods:
        [id(1)] LONG IsProgramInstalled(BSTR programName);
        [id(2)] LONG InstallProgram(BSTR installURL);
};

我当然担心会在这些函数中注入(inject)任何恶意内容,但由于 javascript 在客户端运行,所以应该无关紧要吧? 否则,我认为我可以提取运行此 activeX 的 URL,并确保它始终是我们公司的域(但同样,对其进行硬编码 :/)。

如果这个问题让那些更精通安全的人 panic ,我提前道歉:P

编辑: 只是补充一点,将 setup.exe + .msi 包含在控件的资源中会很好,但这将是一个需要更新的 PITA。 否则,我可以只在资源中包含 setup.exe,而将 .msi 留在服务器上,并将 url 存储在设置中。

最佳答案

只要你对你的 exe 进行签名,并在运行它之前检查这个签名,我不明白这与让用户下载 exe 并自己运行它有什么不同。

但请确保您的证书有效,这样您就可以在用户的​​机器上实际检查它(即没有自签名)。

关于javascript - 将 URL 从 javascript 传递到 ActiveX 会是一个安全漏洞吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9118293/

相关文章:

C++ 错误 : expected type specifier before "class name"

c++ - 连续性多个 WSASend() io 完成端口

c++ - 为什么此代码会出现 'expression syntax' 错误?

javascript - 使用javascript设计表单(选择),没有框架?

javascript - tinymce 4 如何添加事件处理器

java - 我可以使用 Java SWT 应用程序作为 Activex 主机吗?

c++ - 在 Microsoft 软件兼容性之外使用 ActiveX 控件的原因?

excel - 制作一个可搜索的组合框来替换没有辅助列的数据验证

javascript - CSS 如何禁用 window.onscroll?

javascript - 应用根据应用背景颜色改变颜色的边框