【问题标题】:How to write a secure NPAPI plugin that would interact only with a specific chrome extension?如何编写一个仅与特定 chrome 扩展交互的安全 NPAPI 插件?
【发布时间】:2011-08-27 23:40:48
【问题描述】:

我想编写一个 chrome 扩展程序,它会根据某些事件自动(无需用户交互)从本地存储读取和上传文件。我知道由于网络和浏览器的安全模型,这不可能直接实现。

在网上查了一下,发现可以通过一个NPAPI插件来实现。据我了解,我可以编写一个 chrome 扩展,它将(通过 NPRuntime API)与 NPAPI 插件交互并请求上传文件。该插件将检索文件并以文件数据进行响应。

问题 1:以上构想的架构是实现我的任务的合理/有效方式吗?

如果是这样,那么我担心的是这种方法的安全性。

问题 2:由于我的插件会从本地存储读取(并且可能写入)内容,我该如何以安全的方式对其进行编码,以免被其他恶意站点/扩展程序滥用?我的插件应该只适用于我的扩展,而不适用于任何其他站点/扩展。我将如何实现这一目标?换句话说,我应该采取什么样的措施来保护我的 chrome 扩展程序和 NAAPI 插件之间的交互,以便没有恶意攻击的余地?

【问题讨论】:

    标签: google-chrome google-chrome-extension npapi browser-plugin npruntime


    【解决方案1】:

    一些 FireBreath 用户已经使用 FireBreath 创建了与 Chrome 一起使用的插件,并将它们打包在 Chrome 扩展程序 (CRX) 中。如果您在扩展中将插件设为“私有”,则只有该 chrome 扩展可以使用该插件。请注意,没有其他浏览器支持此方法。

    您当然可以使用任何其他 NPAPI 插件来做同样的事情,但是当您不必自己实现所有内容时,FireBreath 可以为您节省大量时间。

    【讨论】:

    • 只是为了添加到Taxilian,在您的Chrome manifest.json 中确保您在未设置插件键中的“公共”键。默认值为 false。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 2015-12-11
    • 2011-11-24
    相关资源
    最近更新 更多