将浏览器扩展程序的CORS政策列入白名单?

时间:2020-02-06 00:02:41

标签: google-chrome firefox google-chrome-extension cors firefox-addon

我有一个浏览器扩展程序,可以将其发布到服务器。我想在服务器中将扩展名的来源列入白名单。例如,对Chrome扩展程序的请求源自chrome-extension://fjhbdidbplpijoncnlfoadfadfasdf之类的位置,而来自Firefox moz-extension://cadf4351-e4f3-ca4d-b974-812309843dafd

之类的位置

我意识到我可以将服务器上的那些特定地址列入白名单,但是我不确定它们是否是静态地址。这些随机生成的位置是否会发生变化,例如是否提交更新?反正有永久设置它们吗?

1 个答案:

答案 0 :(得分:3)

那些改变了吗?

Chrome和Firefox的情况有所不同。

Chrome

对于网上商店中的发布的扩展名,该ID是固定的。您可以依靠它。

对于正在开发中的未压缩扩展,ID(is determined)由清单中的"key"值(如果存在)或扩展文件夹的绝对路径组成。因此,如果您移动扩展名,它可能会更改。但是您可以通过提供有效的"key" "pin" it

Firefox

您在Mozilla中看到的是特定于安装的来源。无论扩展程序的ID是什么,您在此处看到的UUID在每次安装扩展程序时都会有所不同(但应通过更新保留下来)。

对机制in this bug进行了一些讨论。

本质上,这是一种防扩展阻止技术。

不幸的是,这意味着您不能只将一个来源列入白名单并使用它来完成。

依靠它是一个好主意吗?

可能不是。尽管浏览器倾向于忠实地报告Origin,但其他能够生成请求的工具却没有遵循该报告。因此,进行欺骗相对容易。