A Informativa sulla sicurezza dei contenuti (CSP) viene utilizzato per limitare le risorse che un browser può utilizzare. I CSP possono anche limitare la funzionalità delle risorse di script e di stile. Adobe Experience Platform Web SDK non richiede un CSP, ma l’aggiunta di un CSP può ridurre la superficie di attacco per prevenire attacchi dannosi.
I CSP devono riflettere come Platform Web SDK è implementato e configurato. I CSP seguenti mostrano le modifiche necessarie per il corretto funzionamento dell’SDK. A seconda dell’ambiente specifico, potrebbero essere necessarie ulteriori impostazioni CSP.
Gli esempi seguenti mostrano come configurare un CSP.
default-src 'self';
connect-src 'self' EDGE-DOMAIN
Nell’esempio precedente, EDGE-DOMAIN
deve essere sostituito con il dominio di prime parti. Il dominio di prime parti è configurato per edgeDomain impostazione. Se non è stato configurato alcun dominio di prima parte, EDGE-DOMAIN
deve essere sostituito con *.adobedc.net
. Se la migrazione dei visitatori è attivata con idMigrationEnabled, il connect-src
La direttiva deve inoltre includere *.demdex.net
.
Platform Web SDK può modificare il contenuto della pagina e deve essere approvato per creare tag di script e di stile in linea. A questo scopo, l’Adobe consiglia di utilizzare un nonce per default-src Direttiva CSP. Un nonce è un token casuale crittograficamente sicuro generato dal server e generato una volta per ogni visualizzazione di pagina univoca.
default-src 'nonce-SERVER-GENERATED-NONCE'
Inoltre, il nonce CSP deve essere aggiunto come attributo al Platform Web SDK codice di base tag script. Platform Web SDK utilizzerà quindi tale nonce quando si aggiungono tag di script o di stile in linea alla pagina:
<script nonce="SERVER-GENERATED-NONCE">
!function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
[]).push(o),n[o]=function(){var u=arguments;return new Promise(
function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
(window,["alloy"]);
</script>
Se non si utilizza un nonce, l’altra opzione consiste nell’aggiungere unsafe-inline
al script-src
e style-src
Direttive CSP:
script-src 'unsafe-inline'
style-src 'unsafe-inline'
L’Adobe fa non consiglia di specificare unsafe-inline
perché consente l’esecuzione di qualsiasi script sulla pagina, il che limita i vantaggi dei CSP.