Политика безопасности контента, включая script

Мне нужно включить этот скрипт https://apis.google.com/js/api:client.js на моем веб-сайте. В Google Chrome он работает нормально, но в Firefox (и IE, очевидно) я получаю несколько ошибок:


Политика безопасности содержимого: игнорирование "unsafe-inline" в script-src: указано строго-динамическое

Политика безопасности содержимого: игнорирование "https:" в файле script-src: "строгая-динамическая"

Политика безопасности содержимого: игнорирование "http:" в файле script-src: "строгая-динамическая"


Я пытался изменить заголовок политики безопасности контента в метатеге, но это не сработало.

Я пытался со всем этим:

<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src 'self'; script-src 'self' apis.google.com; style-src 'self';">

<meta http-equiv="Content-Security-Policy" content="default-src 'self' apis.google.com">

<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-eval' https://*.google.com; object-src 'self' 'unsafe-eval'"> 

<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-eval' apis.google.com;">

Ответ 1

Вы должны редактировать заголовки CSP не в HTML, а в заголовках HTTP сервера. У вас есть контроль над сервером?

Мета-теги и тому подобное будут игнорироваться, потому что заголовки HTTP имеют приоритет, исправьте их в первую очередь.

Ответ 2

Я знаю, что этому вопросу уже год, но он все еще один из первых вопросов, который возникает при поиске этой проблемы, и пока не имеет правильного ответа.

Я понимаю. Я один из тех людей, которым нравится видеть нетронутую консоль в производстве, поэтому подобные вещи сводят меня с ума, но на самом деле мы ничего не можем с этим поделать. Firefox сообщает о предупреждениях на консоль, когда этого не следует делать.

И Mozilla, и Google рекомендуют включать запасные политики CSP1 наряду с CSP3 "строго-динамическими". Браузеры, которые понимают "строгий динамический", должны игнорировать политики CSP1, а браузеры, которые не должны игнорировать нераспознанные "строгие динамические", и следовать политикам CSP1. Оперативное слово игнорировать. Истинное игнорирование включает в себя не объявление о том, что вы игнорируете.