Nefunkcny google tag manager a CSP

MKI-Miro
Člen | 275
+
+1
-

Ahojte

Neviem ako zapisat googletagmanager v configu CSP aby fungoval, stale mi to pise:

gtm.js?id=GTM-5GBV9T3:499 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'nonce-EQJMr+csytekQbNeb1tbUQ==' 'self' 'unsafe-inline' 'unsafe-inline' connect.facebook.net www.google-analytics.com googletagmanager.com www.googletagmanager.com www.google.com googleads.g.doubleclick.net www.gstatic.com". Note that 'unsafe-inline' is ignored if either a hash or nonce value is present in the source list.

Cela adresa je https://www.googletagmanager.com/gtm.js?…

sciprt mam uapisany takto:

<script n:nonce n:syntax="off">
...

V com moze byt chyba?

Dakujem

Ondřej Kubíček
Člen | 494
+
0
-

dyt je to napsané v té chybě, pokud je přítomen nonce, tak je ignorováno unsafe-inline
to csp je celý blbě nastavený, dej tam strict-dynamic a nevyjmenovávej konkrétní domény

MKI-Miro
Člen | 275
+
0
-

ak nepouzijem v scripte n:nonce tak mi to hodi rovnaku chybu

Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'nonce-kwSmFIpxX992Vizacsc3Rg==' 'self' 'unsafe-inline' 'unsafe-inline' connect.facebook.net www.google-analytics.com googletagmanager.com www.googletagmanager.com www.google.comgoogleads.g.doubleclick.net www.gstatic.com". Note that 'unsafe-inline' is ignored if either a hash or nonce value is present in the source list.

Ako spravne napisat ten strict-dynamic ?

csp:
        default-src:
            - self
        script-src: [
            nonce
            self, unsafe-inline, 'unsafe-inline', strict-dynamic
        ]

takto?

vdaka

David Grudl
Nette Core | 8201
+
+2
-

Podpora strict-dynamic asi nebude moc velká. A domény je potřeba vyjmenovat pro prohlížeče, které nepodporují nonce.

Osobně bych se na použití CSP zatím vykašlal, první dvě verze jsou špatné, Google to oficiálně nepodporuje, málokdo ti poradí, jak to udělat fakt dobře a přínos je diskutabilní.

Jakub Bouček
Člen | 54
+
+2
-

Už jsi to skoro chytil, ale mícháš tam zápis prvků v neon kódu, který ti to rozbil.

Používám tento zápis:

http:
    csp:
        script-src:
            - 'strict-dynamic'
            - 'nonce'
            - 'unsafe-inline'
            - 'http:'
            - 'https:'
        frame-ancestors: none
        frame-src:
            - https://www.googletagmanager.com/
            - self
        form-action: self
        object-src: none
        style-src: self
        base-uri: none

Vysvětlení, jak se vrství verze CSP 1, 2 a 3 je v tomto demu od @spazehttps://exploited.cz/…p/strict.php