【问题标题】:Good reasons for not letting the browser launch local applications不让浏览器启动本地应用程序的充分理由
【发布时间】:2008-08-28 08:50:20
【问题描述】:

我知道这可能很简单,但请继续阅读。

我也知道,让浏览器运行并与本地应用程序交互,即使在 Intranet 上下文中,通常也不是一个好主意,也许是最坏的主意。

我们将 Citrix 用于家庭办公,人们非常喜欢它。现在,他们想要同样的工作环境,一个漂亮的页面,其中每个重要的应用程序/文档/文件夹都以有序的方式排列和分类。这些人并不是特别精通技术。我什至不认为他们可以理解远程交付应用程序和本地应用程序之间的区别。

所以,有人问我这是否可能。当然,它是 IE 的优秀的 ActiveX 控件。我什至制作了一个工作原型(这就是它的痛处)。

但现在,我怀疑。即使在“本地 Intranet”区域中允许这种“危险的”ActiveX 控件,这不是很疯狂吗?人们会使用相同的浏览器上网,我可以完全信任 IE 吗?微软不会在未来的更新/版本中禁用这些控件吗?如果一个网站或任何类型的恶意软件只是将另一个网站放在信任列表中怎么办?有了这种程度的控制,你也可以卸载所有的保护,然后胡闹,直到你被 IT 部门绞死。

我将要面对我的上级,即使他们认为这是可行的,这也是一件非常糟糕的事情。所以我迫切需要好的和强有力的论据,因为“让我们不要”不会这样做。

当然,如果没有什么好害怕的,那也很好。但我强烈怀疑这一点。

【问题讨论】:

  • 您正在寻找的功能称为“SiteLock”。您可以将 ActiveX 控件限制为仅从特定页面或站点运行。
  • 现在人们很少使用 ActiveX。你应该更担心嵌入式 Flash 和 Java Applet,它比 ActiveX 更危险且使用更广泛。

标签: security internet-explorer activex intranet


【解决方案1】:

我们将 Citrix 用于家庭办公,人们非常喜欢它。现在,他们想要同样的工作环境,一个漂亮的页面,每个重要的应用程序/文档/文件夹都被整齐地排列和分类

我使用 Citrix 的次数不多,但它与执行本地应用程序有什么关系?我根本看不出“像 Citrix 这样的人”和“执行本地应用程序的浏览器”有什么关系?

如果人们在家中访问您的 Citrix 服务器,并希望在办公室获得相同的体验,那么请购买一台便宜的 PC,并运行与他们在家用计算机上运行的完全相同的 Citrix 软件。把这台电脑放在角落里,告诉他们去使用它。他们会很高兴的。

允许这种“危险”的 ActiveX 控件,即使在“本地 Intranet”区域中,这不是很疯狂吗?人们会使用同一个浏览器来上网,我可以完全信任 IE 吗?

这样说吧。 IE 内置了对 AX 控件的支持。它使用它的安全机制来防止它们运行,除非在受信任的站点中。默认情况下,根本不信任任何网站。

如果您完全使用 IE,那么您将自己置于这些安全机制的摆布之下。无论您是否告诉它信任本地 Intranet 都是无关紧要的,并且不会影响任何其他区域的操作。

无论您是否在本地 Intranet 中允许 ActiveX,要求您每隔几周在 MS 发布补丁时重新启动计算机的良好旧安全漏洞将继续存在并导致问题。

微软是否会在未来的更新/版本中禁用这些控件?

自 XP-SP2 以来,Microsoft 一直在使 ActiveX 控件的使用变得越来越困难。我不知道这些天您必须单击多少看起来很吓人的警告消息和“这可能会破坏您的计算机”对话框才能让它们运行,但确实不少。随着时间的推移,这种情况只会变得更糟。

【讨论】:

    【解决方案2】:

    微软正在走好路线。一方面,他们定期通过 Windows Update 发送 ActiveX killbits,以删除/禁用行为不端的应用程序。另一方面,最新版本的 Sharepoint 2007(不能说早期版本)允许通过单击浏览器中的链接打开 Office 文档,并在本地应用程序中进行编辑。编辑完成后,将更改传输回服务器并刷新网页(通常)。这只是 IE 的问题,因为 Firefox 会抛出错误消息。

    不过,我可以看到它背后的逻辑。在微软将他们所有的应用程序都“放在云端”之前,有些案例需要弥合旧客户端应用程序和更加以网络为中心的业务环境之间的差距。虽然可能存在非 Web 解决方法,但越来越多的信息工作者开始期望他们的大部分工作将在浏览器中完成。除了系统管理员之外,任何人都不会反对任何使与桌面集成更容易的事情。

    【讨论】:

      【解决方案3】:

      标准的 citrix 主页(或我们如何使用它)是一个带有程序图标的简单网页。单击它,应用程序就会交付给您。人们希望在工作中使用他们的应用程序/文件夹/文档。而且因为我是一名网络开发人员,他们问我,我用网页来做......也许我应该把整个事情交给 VB 人..

      啊……我知道有两种方法可以做到这一点:

      您可以将 Internet Explorer 嵌入到应用程序中,并挂钩并拦截某些类型的 URL 等等

      几年前我看到了这种做法——一个电话应用程序本身嵌入了 Internet Explorer,并加载了一些特殊格式的网页。

      在网页上有这样的:

      <a href="dial#1800-234-567">Call John Smith</a>
      

      通常这将是一个损坏的 URL,但是当用户单击此链接时,包含嵌入式 IE 的应用程序会收到通知,并继续执行它自己的自定义代码以从 URL 拨打号码。

      您可以让您的 VB 人员编写一个基本上只包装 IE 并具有用于执行应用程序的处理程序的应用程序。然后,您可以编写带有打开应用程序链接的普通网页,VB 应用程序将启动它们。这允许您将自己的安全内容(例如,仅启动预设列表中的应用程序等)写入 VB 应用程序,并且因为 VB 正在启动它们,而不是 IE,所以不会涉及任何 IE 安全问题。

      第二种方式是使用浏览器插件。

      例如,Skype 带有一个 Firefox 插件,它在网页中查找电话号码,并附加特殊链接。当您单击这些链接时,它会调用 Skype - 您可以想象执行类似的操作来启动您的 citrix 应用程序。

      不过,你会被绑定到 Firefox。为 IE 编写插件比为 FF 更困难,除非迫不得已,否则我不会走这条路。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-11
        • 2014-05-14
        • 2011-02-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多