Problema con Strict Dynamic e CSP sul widget Atlassian
Sto riscontrando un problema con la Content Security Policy (CSP) dopo l’aggiornamento alla versione v3.3.0.beta1. Nello specifico, sto cercando di incorporare un widget Atlassian nell’intestazione del mio contenitore, creato prima di questo aggiornamento.
Ho fatto in modo di includere il nonce, ma sto riscontrando i seguenti errori:
embed.js:1 Refused to set the document's base URI to 'https://jsd-widget.atlassian.com/' because it violates the following Content Security Policy directive: "base-uri 'self'".
embed.js:1 Refused to load the script 'https://jsd-widget.atlassian.com/assets/iframe.js' because it violates the following Content Security Policy directive: "script-src 'nonce-YAnMdLzmoWqLis3WXiQKjxdHk' 'strict-dynamic'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.
Inoltre, ho trovato un suggerimento in un post precedente per caricare dinamicamente lo script in questo modo:
var s = document.createElement('script');
s.src = "https://jsd-widget.atlassian.com/assets/embed.js";
document.body.appendChild(s);
Tuttavia, questo non sembra risolvere il problema. Mi sfugge chiaramente qualcosa su come strict-dynamic dovrebbe funzionare in questo contesto.
Qualcuno può aiutarmi a capire perché si verificano questi errori e come potrei risolverli? Qualsiasi suggerimento sarebbe apprezzato!
È buffo, stavo giusto esaminando un problema quasi identico.
Posso riprodurre un problema simile sull’ultima versione che è stata recentemente ricompilata.
Sto ricevendo:
[Report Only] Refused to load the script 'https://www.mytestsite.com/mini-profiler-resources/includes.js?v=116e2a6fd81c286e004e2a0afb03baa1' because it violates the following Content Security Policy directive: "script-src 'nonce-ZSPIEwDBo6e07GuQMDkOFZerD' 'strict-dynamic'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.
Qualcuno di voi può condividere un link a un sito che mostra questo problema? Sono felice di dare una rapida occhiata :occhi:
Se hai aggiunto questo tramite componenti del tema, dovresti rimuovere la parte nonce=. Discourse la aggiungerà automaticamente (e penso che aggiungerla tu stesso possa interrompere il sistema automatico)
Il codice che sto aggiungendo è <script data-jsd-embedded data-key="bla" data-base-url="https://jsd-widget.atlassian.com" src="https://jsd-widget.atlassian.com/assets/embed.js"></script>
Sembra che lo script embed.js venga eseguito correttamente, quindi il lato Discourse funziona.
Tuttavia, sta quindi tentando di creare un iframe same-origin, che include tag di script ‘parser-inserted’. Questo tipo di strategia non è compatibile con una CSP strict-dynamic.
Quindi penso che questo sia qualcosa che Atlassian dovrebbe correggere. Mi sono imbattuto in questo problema sul loro tracker che sembra pertinente (anche se non ha molti dettagli, né una risoluzione )