dav*_*er8 6 security iframe content-security-policy
我正在为我的网站设置内容安全策略 (CSP)。过去几周我一直在几个网站上使用它,没有任何问题。我已经成功集成了外部脚本和其他各种东西。
今天虽然我想集成一个第三方日历预订系统(Calendly)。他们将 iframe 用于弹出窗口,并且在我的一生中,我无法在安全策略中接受它。
我不断收到此错误“拒绝框架 'url-to-calendly',因为它违反了以下内容安全策略指令:“frame-src”...
我已经厌倦了将它添加到 frame-src 组件中
frame-src https://assets.calendly.com;
frame-src 'self' https://assets.calendly.com;
frame-src 'self' https://assets.calendly.com 'unsafe-inline';
frame-src https://assets.calendly.com 'nonce-lots-of-digits';
frame-src 'self' https://assets.calendly.com 'nonce-lots-of-digits';
我child-src也在指令下做了同样的事情。由于 frame-src 在第二版中不再使用。同样,这也不起作用。这是我的完整 CSP。非常感谢这里的任何帮助 - 谢谢。附言。我正在使用 chrome 开发工具。它似乎也不适用于 Safari。
Content-Security-Policy:
script-src 'nonce-4dfb7738f82d40efc1b73a80491d6dd0bb839173' 'unsafe-inline'; object-src 'none';
default-src 'nonce-77184b203c574dfd8ecc7fac417bf078242d4657';
img-src 'self' https://www.google-analytics.com www.google-analytics.com https://stats.g.doubleclick.net;
style-src 'self' https://assets.calendly.com;
font-src 'self';
connect-src 'self' https://www.google-analytics.com www.google-analytics.com https://stats.g.doubleclick.net;
base-uri 'none';
child-src https://assets.calendly.com;
frame-src https://assets.calendly.com;
Run Code Online (Sandbox Code Playgroud)
小智 8
要使 Calendly 在您的网站上运行,您需要添加以下 CSP 规则:
frame-src https://calendly.com;
script-src https://assets.calendly.com;
style-src 'unsafe-inline';
Run Code Online (Sandbox Code Playgroud)
所以实际上答案非常简单。我直接联系日历,简单的解决方案是更改我添加的网址。https://calendly.com足以做到这一点。
所以你给@andrii 的网址是正确的 - 谢谢。但是,不建议使用“unsafe-inline”。在任何来源上使用它都会使您的 CSP 几乎毫无意义。