Konfigurera en CSP
- Ämnen:
- Web SDK
Skapat för:
- Developer
A Skyddsprincip för innehåll (CSP) 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 EDGE-DOMAIN
ska ersättas med förstahandsdomänen. Första part-domänen är konfigurerad för edgeDomain inställning. Om ingen förstahandsdomän har konfigurerats, EDGE-DOMAIN
bör ersättas med *.adobedc.net
. Om migrering av besökare är aktiverat med idMigrationEnabled, connect-src
direktivet måste ä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 formattaggar. För att uppnå detta rekommenderar Adobe att du använder ett nonce för default-src CSP-direktiv. 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 Platform Web SDK baskod script-tagg. 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 ett nonce inte används är det andra alternativet att lägga till unsafe-inline
till script-src
och style-src
CSP-direktiv:
script-src 'unsafe-inline'
style-src 'unsafe-inline'
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
När du konfigurerar Webb-meddelanden i appenmåste du ta med följande direktiv i din CSP:
default-src blob:;