2016-04-12 3 views
1

У меня есть простой сайт-сайт для тестирования Google Analytics, но каждый раз, когда я иду на сайт и просматриваю журнал, я вижу, что код JavaScript блокируется CSP.Код Google Analytics заблокирован CSP

Вот сценарий:

<script type="text/javascript"> 

    (function (i, s, o, g, r, a, m) { 
     i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function() { 
      (i[r].q = i[r].q || []).push(arguments) 
     }, i[r].l = 1 * new Date(); a = s.createElement(o), 
     m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) 
    })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); 

    ga('create', 'UA-12345678-1', 'auto', { 'siteSpeedSampleRate': 100 }); 
    ga('send', 'pageview'); 

    ga('create', 'UA-87654321-1', 'auto', 'clientTracker', { 'siteSpeedSampleRate': 100 }); 
    ga('clientTracker.send', 'pageview'); 

</script> 

А вот содержание СНТ:

<httpProtocol> 
     <customHeaders> 
     <add name="Content-Security-Policy" value="default-src 'self'; script-src 'self' https://www.google-analytics.com https://ssl.google-analytics.com; style-src 'self' 'unsafe-inline'; img-src 'self' http://www.google-analytics.com https://ssl.google-analytics.com; object-src 'none'; media-src 'none'; frame-src 'none' "/> 
     </customHeaders> 
    </httpProtocol> 

Наконец вот снимок экрана ошибки: enter image description here

примечание: Я сталкивался с несколько сообщений (here и here), в то время как я нашел в них некоторое сходство, я не нашел солю (или, возможно, я сделал что-то не так, если да, укажите, пожалуйста).

ответ

1

Наконец-то он работает. Содержание CSP:

<add name="Content-Security-Policy" value="default-src 'self'; script-src 'self' 'unsafe-inline' www.google-analytics.com; style-src 'self' 'unsafe-inline'; img-src * data:; object-src 'none'; media-src 'none'; frame-src 'none' "/> 
+0

Эй, у меня такая же проблема ... CSP блокирует GA от получения http info ... можете ли вы подтвердить, что это решение все еще работает? и у вас есть политика CSP в вашем htaccess? –

+0

@BrockVond, да. до сих пор работает. Я использую ASP.net вместо Apache, поэтому у меня есть политика в файле web.config. Подтвердил это, проверив Firebug и вкладку в режиме реального времени в Google Analytics. – Kyle

+6

, используя «небезопасно-встроенный» в своей политике, вы побеждаете цель CSP – Corey

0

Изменить https://www.google…/etc на //www.google… Я считаю, что ваша проблема - ваш локальный хост небезопасен и вызывает проблему.

удаление протокола (начиная с //) позволяет вашему браузеру определять, какой протокол (http | https) сам основан на запрашивающем сайте.

+0

Я обновил JavaScript, но до сих пор не повезло. Хотя я уверен, но может быть, я поставил заголовок CSP в неправильном месте внутри web.config? Я сейчас ставлю его под System.webServer, правильно? – Kyle

+0

Является ли сообщение об ошибке одинаковым после обновления? Я не уверен в том, что System.webServer является правильным или неправильным местом, я выдвигался гипотезой на основе полученных сообщений об ошибках. –

+0

Да, такая же точная ошибка. Теперь URL-адрес в скрипте изменен на «//www.google-analytics.com/analytics.js». – Kyle

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