Konfigurera en CSP

En CSP(Content Security Policy) används för att begränsa vilka resurser en webbläsare får använda. CSP kan även begränsa funktionerna för skript och formatresurser. Adobe Experience Platform Web SDK kräver ingen CSP, men om du lägger till en kan det minska attackytan för att förhindra skadliga attacker.

CSP måste återspegla hur Platform Web SDK distribueras och konfigureras. Följande CSP visar vilka ändringar som kan behövas för att SDK ska fungera korrekt. Ytterligare CSP-inställningar krävs troligen, beroende på din specifika miljö.

Exempel på skyddsprofil för innehåll

I följande exempel visas hur du konfigurerar en CSP.

Tillåt åtkomst till edge-domänen

default-src 'self';
connect-src 'self' EDGE-DOMAIN

I exemplet ovan bör EDGE-DOMAIN ersättas med förstahandsdomänen. Den första partsdomänen har konfigurerats för inställningen edgeDomain. Om ingen förstapartsdomän har konfigurerats bör EDGE-DOMAIN ersättas med *.adobedc.net. Om migrering av besökare aktiveras med idMigrationEnabled måste direktivet connect-src även innehålla *.demdex.net.

Använd NONCE för att tillåta infogade skript och formatelement

Platform Web SDK kan ändra sidinnehåll och måste godkännas för att kunna skapa infogade skript och formatkoder. För att uppnå detta rekommenderar Adobe att du använder en nonce för CSP-direktivet default-src . Ett nonce är en servergenererad kryptografiskt stark slumpvariabel som genereras en gång per varje unik sidvy.

default-src 'nonce-SERVER-GENERATED-NONCE'

Dessutom måste CSP nonce läggas till som ett attribut i skripttaggen Platform Web SDK base code . Platform Web SDK kommer sedan att använda den funktionen en gång när du lägger till infogade skript eller formatkoder på sidan:

<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>

Om inget nonce används är det andra alternativet att lägga till unsafe-inline i CSP-direktiven script-src och style-src:

script-src 'unsafe-inline'
style-src 'unsafe-inline'
NOTE
Adobe rekommenderar inte att du anger unsafe-inline eftersom det tillåter att skript körs på sidan, vilket begränsar fördelarna med CSP.

Konfigurera en CSP för meddelanden i appen in-app-messaging

När du konfigurerar Web In-App Messaging måste du ta med följande direktiv i din CSP:

default-src  blob:;
recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636