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
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)
- David Grudl
- Nette Core | 8212
Pro prohlížeče, které neumí strict-dynamic, je potřeba doplnit
i adresu https://apis.google.com