如何编写一个只与特定chrome扩展交互的安全NPAPI插件?

时间:2011-08-27 12:13:12

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

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

在线研究后,我发现这可以通过NPAPI插件实现。根据我的理解,我可以编写一个chrome扩展,它将与NPAPI插件进行交互(通过NPRuntime API),并请求上传文件。插件将检索文件并使用文件数据进行响应。

问题1:架构是否构成了一种合理/有效的方式来实现我的任务?

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

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

1 个答案:

答案 0 :(得分:2)

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

当然,您可以使用任何其他NPAPI插件执行相同的操作,但是当您不必自己实施所有内容时,FireBreath会为您节省大量时间。