web-dev-qa-db-ja.com

コンテンツセキュリティポリシー(CSP)を持つIFRAMEを許可する方法

私のウェブサイトのコンテンツセキュリティポリシー(CSP)を設定しています。私は最後の週のいくつかのウェブサイトのために問題なくそれを使っています。外部のスクリプトと他のさまざまなものが統合されました。

今日は、3番目のパートカレンダー予約システム(カレンディング)を統合したいと思いました。彼らはポップアップのためのIFRAMEを使います、そして私の人生のために私はセキュリティポリシーでそれを受け入れることができません。

このエラーが表示され続けて、次のコンテンツセキュリティポリシーディレクティブに違反するため、「フレーム 'URL-to-callency」を参照してください。 "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ディレクティブの下でも同じことをしました。フレーム-SRCはバージョン2では使用されなくなりました。またこれも機能しませんでした。これが私の完全なCSPです。ここでの助けは大いに感謝されるでしょう - ありがとう。 PS。 chrome devツールを使用していました。それは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;
3
davidlower8

Webサイトでカケットに作業するには、次のCSPルールを追加する必要があります。

frame-src https://calendly.com;
script-src https://assets.calendly.com;
style-src 'unsafe-inline';
 _
3
Andrii

だから実際には答えは非常に単純であることがわかった。私は直接カレンディングに連絡し、簡単な解決策は私が追加したURLを変更することでした。 https://calendly.comトリックをするのに十分でした。

だからあなたが@andriiを与えたURLは正しいでした - ありがとう。しかし、「安全でないインライン」を使用することはお勧めできません。どのソースにも使用すると、CSPはほぼ無意味になります。

2
davidlower8