PayPal API CSP 阻止 SDK 加载

问题描述 投票:0回答:1

我正在尝试在我的网站上使用 PayPals API 集成,但是每当我尝试加载页面时,我都会收到“拒绝应用内联样式,因为它违反了以下内容安全策略指令”错误,因此页面上没有实际加载任何内容,我在

Program.cs
app.UseSecurityHeaders(policyCollection);
中设置了安全标头,其中我将
policyCollection
减少到

var policyCollection = new HeaderPolicyCollection()
  .AddContentSecurityPolicy(policy =>
  {  
    policy.AddDefaultSrc()
    .Self()
    .From(allowedUris)
  };

其中

allowedUris
是 URI 列表,包括
"https://paypal.com"
,但无论我做什么,我都无法加载任何 PayPal 资源,有谁知道我在这里是否做错了什么?

编辑: Chrome 控制台日志

编辑 2 PayPal 响应 CSP 样式片段:

style-src 'self' https://*.paypal.com:* https://*.paypalobjects.com 'unsafe-inline';

asp.net-core paypal content-security-policy paypal-rest-sdk
1个回答
0
投票

根据错误信息,没有违反URI,它们都是内联样式和脚本。这些可以由某些脚本嵌入。检查控制台中的源。如果使用一些静态引用,则为它们添加哈希值可能是有意义的。否则,您可能必须替换或重写代码。如果这不起作用,您可能必须接受将“unsafe-inline”添加到 script-src 和 style-src。尽管这并不理想,但它比没有 CSP 好,特别是如果您锁定所有 fetch 指令。

© www.soinside.com 2019 - 2024. All rights reserved.