Nastavení configu CSP – script blok

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
blaztar
Člen | 93
+
0
-

Ahoj,

zkouším CSP implementované v nejnovějším vydání Nette a mám problém s jedním blokem.

Nevím jak zapsat config aby prošel ten první inline script. V další šabloně (na frontu) mi vše s tímto základním nastavení funguje, ale tam nemam ten google script.

<script n:nonce n:syntax=off>
	(function(w,d,s,g,js,fs){
	  g=w.gapi||(w.gapi={});g.analytics={q:[],ready:function(f){this.q.push(f);}};
	  js=d.createElement(s);fs=d.getElementsByTagName(s)[0];
	  js.src='https://apis.google.com/js/platform.js';
	  fs.parentNode.insertBefore(js,fs);js.onload=function(){g.load('analytics');};
	}(window,document,'script'));
</script>

<script n:nonce src="{$basePath}/js/analytics_libs/view-selector2.js"></script>
<script n:nonce src="{$basePath}/js/analytics_libs/active-users.js"></script>
<script n:nonce src="{('js/admin.js'|elixir)}"></script>

Můj config vypadá takto.

http:
    csp:
        script-src: [
            nonce
            self, unsafe-inline
        ]

Chyba vypadá takto:

Refused to load the script 'https://apis.google.com/js/platform.js' because it violates the following Content Security Policy directive: "script-src 'nonce-l6XXoiXDI7OHr7DCCJkCJg==' 'self' 'unsafe-inline'".

Editoval blaztar (20. 1. 2017 14:53)

jiri.pudil
Nette Blogger | 1028
+
0
-

Přidej strict-dynamic

David Grudl
Nette Core | 8111
+
+1
-

Pro prohlížeče, které neumí strict-dynamic, je potřeba doplnit i adresu https://apis.google.com

blaztar
Člen | 93
+
0
-

Super děkuji, budu si to muset víc nastudovat.