1

Я разрабатываю плагин для Shopify CMS. Это использование плагин webcomponents.js для загрузки скриптов Polymer черезПолитика безопасности содержимого. webcomponent. script src DataURI. Могу ли я переопределить HTTP HEADER тегом META?

script.src = "data:text/javascript;charset=utf-8," + encodeURIComponent(scriptContent); 

webcomponentsjs/src/HTMLImports/parser.js line 307

В FireFox я получаю следующие ошибки:

Content Security Policy: The page’s settings blocked the loading of a resource at data:text/javascript;charset=utf-8,/**script code*/(“script-src https://domainurl https://* 'unsafe-inline' 'unsafe-eval'”) 

оригинальный заголовок политики безопасности контента (я не могу изменить этот заголовок на сервере, потому что Shopify - это размещенная платформа, и я не контролирую его)

Content-Security-Policy: 
default-src 'self' https://*; 
child-src 'self' https://* blob: data:; 
connect-src 'self' https://* wss://*; 
font-src 'self' https://* blob: data:; 
img-src 'self' https://* blob: data:; 
media-src'self' https://* blob: data:; 
object-src 'self' https://* blob: data:; 
script-src 'self' https://* 'unsafe-inline' 'unsafe-eval'; 
style-src 'self' https://* 'unsafe-inline'; 

Я пытаюсь перегружать этот заголовок с помощью мета-тега

<meta http-equiv="Content-Security-Policy" content=" 
    default-src * data: 'unsafe-inline' 'unsafe-eval'; 
    script-src * data: 'unsafe-inline' 'unsafe-eval'; 
" /> 

Можно ли перегружать значение заголовка с помощью мета-тег?

+0

Вы пробовали это сделать? – AllTheTime

+3

Нет, несколько CSP всегда объединены в сторону большего ограничения. https://www.w3.org/TR/CSP2/#enforcing-multiple-policies – Ryan

+0

Да. Но я думаю, что я делаю что-то неправильно. Является допустимым для перегрузки значения заголовка? Я не нашел никакой информации о походе HTTP-заголовка и метатеге на одной странице. –

ответ

0

Я обнаружил, что не могу управлять политикой безопасности контента.

У меня пропатчен файл webcomponents.js. Я удалил script.src = "data:text/javascript;charset=utf-8," + encodeURIComponent(scriptContent);.

Теперь я загружаю скрипт script.textContent.

+1

_ «Я обнаружил, что не могу управлять политикой безопасности контента» _ - ну, если бы вы могли, это сделало бы CSP бесполезным ... – CBroe

+0

Ха-ха))) I не может управлять CSP в обоих направлениях, клиент и сервер)))) –

Смежные вопросы