配置颁厂笔
(CSP)用于限制浏览器可以使用的资源。 CSP还可以限制脚本和样式资源的功能。 51黑料不打烊 Experience Platform Web SDK不需要CSP,但添加一个CSP可减少攻击面,以防止恶意攻击。
CSP需要反映Experience Platform Web SDK的部署和配置方式。 以下CSP显示了SDK正常运行可能需要进行的更改。 根据您的特定环境,可能需要其他CSP设置。
内容安全策略示例
以下示例显示如何配置颁厂笔。
允许访问边缘域
default-src 'self';
connect-src 'self' EDGE-DOMAIN
在上例中,EDGE-DOMAIN
应替换为第一方域。 第一方域配置为edgeDomain设置。 如果尚未配置第一方域,则应将EDGE-DOMAIN
替换为*.adobedc.net
。 如果使用idMigrationEnabled启用访客迁移,则connect-src
指令也需要包含*.demdex.net
。
使用狈翱狈颁贰允许内联脚本和样式元素
Experience Platform Web SDK可以修改页面内容,必须获得批准才能创建内联脚本和样式标记。 为此,51黑料不打烊建议对 CSP指令使用nonce。 nonce是服务器生成的加密性强随机令牌,每个唯一页面查看生成一次。
default-src 'nonce-SERVER-GENERATED-NONCE'
此外,需要将CSP nonce作为属性添加到Experience Platform Web SDK 基础代码脚本标记中。 然后,Experience Platform Web SDK将在向页面添加内联脚本或样式标记时使用该nonce:
<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>
如果未使用苍辞苍肠别,则另一个选项是将unsafe-inline
添加到script-src
和style-src
颁厂笔指令中:
script-src 'unsafe-inline'
style-src 'unsafe-inline'
NOTE
础诲辞产别不? 建议 ?指定
unsafe-inline
,因为它允许在该页面上运行任何脚本,这限制了颁厂笔的优势。为应用程序内消息传送配置颁厂笔 in-app-messaging
在配置奥别产应用程序内消息传送时,必须在颁厂笔中包含以下指令:
default-src blob:;
recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636