Как разрешить внешнюю javascript политику безопасности контента из Google API? - PullRequest
1 голос
/ 19 марта 2020

Это моя текущая политика безопасности содержимого для моего приложения script-sr c:

script-src 'self' 'unsafe-inline' https://maps.googleapis.com https://maps.gstatic.com;

при попытке загрузить следующий внешний js код:

https://maps.googleapis.com/maps/api/js?key=${GOOGLE_API_KEY}&libraries=places&language=he

с использованием unsafe-inline это работает, но, вероятно, небезопасно, поэтому я хочу удалить его в своем коде, но тогда он не позволяет скрипту работать. попытался добавить к script-sr c значение, такое как https://maps.googleapis.com/*, но оно все еще не работало. как разрешить скрипты из указанного c домена?

1 Ответ

0 голосов
/ 25 марта 2020

У меня была та же проблема, но я смог ее решить, используя га sh с https://*.googleapis.com в белом списке.

Директива script-src позволяет разработчикам вносить в белый список определенный встроенный скрипт, указывая его ha sh в качестве допустимого источника скрипта.

Использование просто. Сервер вычисляет га sh содержимого конкретного блока сценария и включает в себя кодировку base64 этого значения в заголовке Content-Security-Policy.

Например:

<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'sha256-...4aQo=' https://*.googleapis.com">

Обратите внимание, что для динамических c приложений лучше использовать nonce .

Надеюсь, это поможет!

...