2015-06-08 1 views
0

Недавно я узнал о пакете политики браузера для Meteor от Дэвида Уэлдона (https://dweldon.silvrback.com/browser-policy), который я нашел из этого перечня, сделанного Sacha https://meteorjs.club/MeteorSecurityChecklist.pdfМетеор политика браузера

Я использую Google Analytics, для железа маршрутизатора пакета (https://github.com/reywood/meteor-iron-router-ga/) как ну и я получаю следующее сообщение об ошибке после попытки много различных вариантов (я ожидал BrowserPolicy.content.allowInlineScripts(), чтобы позволить этому):

Refused to load the script 'data:application/javascript;base64,dmFyIHVyY2hpblRyYWNrZXI9ZnVuY3Rpb24oKXt9…JVcmw6ZnVuY3Rpb24obyl7cmV0dXJuIG87fSxfdHJhY2tFdmVudDpmdW5jdGlvbigpe319fX07' because it violates the following Content Security Policy directive: "script-src 'self' http://*.google-analytics.com https://*.google-analytics.com http://*.googleapis.com https://*.googleapis.com http://*.gstatic.com https://*.gstatic.com http://www.google-analytics.com https://www.google-analytics.com". 

кто может дать мне больше понимания в этом?

+0

Интересно, что утюг-маршрутизатор-га имеет собственную политику браузера. Если вы удалите этот пакет, ошибка исчезнет? Я просто хочу проверить, что это причина. –

+0

@DavidWeldon действительно удаляет ошибку! – flowen

+0

Хорошо, что помогает. Таким образом, похоже, что что-то загружает URL-адрес данных и блокируется по умолчанию, я думаю. Что произойдет, если вы снова добавите пакет, а затем добавите 'BrowserPolicy.content.allowDataUrlForAll()' в свою политику? –

ответ

2

URL-адрес в вопросе является URL данных, поэтому один из способов решения этой проблемы является добавление следующих к политике:

BrowserPolicy.content.allowDataUrlForAll() 

Это довольно широкое правило, хотя. Если вы хотите сузить его только до скриптов, вы можете сделать:

BrowserPolicy.content.allowScriptDataUrl()