Как установить несколько политик безопасности контента в файле manifest.json с расширением chrome - PullRequest
2 голосов
/ 12 апреля 2019

в документации Google Chrome Я обнаружил, что могу добавить политику безопасности содержимого, чтобы позволить внешнему файлу javascript работать с моим расширением.

но я не мог найти, как добавить несколько. Это массив строк?

"content_security_policy": "script-src 'self' https://example.com; object-src 'self'"

Я пытался поставить несколько строк, но это не работает. Идет ошибка:

Отказался от загрузки скрипта https://example.com, поскольку он нарушает следующую директиву политики безопасности содержимого: "script-src 'self' https://example.com". Обратите внимание, что 'script-src-elem' не был задан явно поэтому «script-src» используется в качестве запасного варианта.

1 Ответ

1 голос
/ 12 апреля 2019

Политика CSP - это одна строка (содержащая разделенный точкой с запятой список директив и их аргументов).Это относится ко всем страницам расширений.

Если вам нужна единая политика с несколькими источниками, вы можете сделать это.Фактически, у вас уже есть: 'self' и https://example.com - два источника.

Прочтите о CSP в целом и директиве script-src, например, в MDN .

Синтаксис

Для политики script-src может быть разрешен один или несколько источников:

Content-Security-Policy: script-src <source>;
Content-Security-Policy: script-src <source> <source>;

Так что вам просто нужно разделить их между script-src и точка с запятой.

Убедитесь, что ваши источники не содержат путей.
Например, https://example.com в порядке, но https://example.com/ или https://example.com/script.js - нет.

Если вам нужно несколько независимых политик для разных страниц, боюсь, вы не сможете этого сделать.

...