Een CSP configureren
A Beveiligingsbeleid voor inhoud (CSP) wordt gebruikt om de middelen te beperken browser wordt toegestaan te gebruiken. Het CSP kan ook de functionaliteit van manuscript en stijlmiddelen beperken. Adobe Experience Platform Web SDK vereist geen CSP, maar het toevoegen van één kan de aanvalsoppervlakte verminderen om tegen kwaadwillige aanvallen te verhinderen.
Het CDV moet weerspiegelen hoe Platform Web SDK wordt opgesteld en gevormd. In het volgende CDV wordt aangegeven welke wijzigingen nodig zijn om de SDK correct te laten functioneren. Afhankelijk van uw specifieke omgeving zijn waarschijnlijk aanvullende CSP-instellingen vereist.
Voorbeeld van beveiligingsbeleid voor inhoud
De volgende voorbeelden tonen hoe te om CSP te vormen.
Toegang tot het randdomein toestaan
default-src 'self';
connect-src 'self' EDGE-DOMAIN
In het bovenstaande voorbeeld: EDGE-DOMAIN
moet worden vervangen door het domein van de eerste partij. Het eerste partijdomein wordt gevormd voor edgeDomain instellen. Als geen first-party domein is gevormd, EDGE-DOMAIN
vervangen door *.adobedc.net
. Als bezoekersmigratie is ingeschakeld met idMigrationEnabledde connect-src
richtlijn moet ook *.demdex.net
.
NONCE gebruiken om inlinescript en stijlelementen toe te staan
Platform Web SDK kan pagina-inhoud wijzigen en moet worden goedgekeurd om inline script- en stijltags te maken. Om dit te bereiken, beveelt de Adobe het gebruik van een nonce aan voor de default-src CSP-instructie. Een nonce is een cryptografisch sterk willekeurig token dat door de server wordt gegenereerd en dat één keer per unieke paginaweergave wordt gegenereerd.
default-src 'nonce-SERVER-GENERATED-NONCE'
Daarnaast moet het CDV eenmaal worden toegevoegd als kenmerk van het Platform Web SDK basiscode scripttag. Platform Web SDK gebruikt deze optie vervolgens eenmaal bij het toevoegen van inline script- of stijltags aan de 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>
Als een nonce niet wordt gebruikt, kunt u het volgende toevoegen: unsafe-inline
aan de script-src
en style-src
CSP-instructies:
script-src 'unsafe-inline'
style-src 'unsafe-inline'
unsafe-inline
omdat het voor om het even welk manuscript toestaat om op de pagina te lopen, die de voordelen van het CDV beperkt.Een CSP configureren voor In-App Messaging in-app-messaging
Wanneer u Webberichten in de app, moet u de volgende richtlijn in uw CSP opnemen:
default-src blob:;