HTTPヘッダー
Content-Security-Policy HTTPヘッダーの意味
Content-Security-Policyはページのリソースをどこから読み込めるかを制限します。
意味
サーバーは、スクリプト、スタイル、画像、フレーム、その他のリソースタイプに対するブラウザ強制の規則を送信しています。
出現する場所
ウェブアプリは、スクリプトインジェクション、クリックジャッキング、混在コンテンツ、データ流出のリスクを減らすために送信します。
確認すべきこと
ブロックされたリソースの報告、nonceやハッシュの戦略、フレーム規則、そしてポリシーが広すぎないかを確認します。
例
Content-Security-Policy: default-src https:; img-src https: data:よくある値とディレクティブ
default-srcdefault-src 'self'より具体的に設定されていないfetchディレクティブのフォールバックソースリスト。script-srcscript-src 'self' https://cdn.exampleJavaScriptをどこから読み込めるか、どのインラインスクリプトパターンを実行できるかを制御します。style-srcstyle-src 'self' 'unsafe-inline'CSSをどこから読み込めるか、インラインスタイルをどう扱うかを制御します。img-srcimg-src https: data:画像をどこから読み込めるかを制御します。connect-srcconnect-src 'self' https://api.examplefetch、XHR、WebSocket、EventSourceなどのAPIが使うURLを制御します。font-srcfont-src https://fonts.exampleフォントをどこから読み込めるかを制御します。frame-srcframe-src 'self'このページがフレームに読み込めるURLを制御します。frame-ancestorsframe-ancestors 'none'どの親ページがこのページをフレームに埋め込めるかを制御します。base-uribase-uri 'self'base要素で使えるURLを制限します。object-srcobject-src 'none'プラグイン形式のobject、embed、appletリソースを制御します。report-toreport-to defaultポリシー違反レポートの報告先エンドポイントグループを指定します。report-urireport-uri https://example.com/csp-reportポリシー違反レポートをURLに送信します。新しいポリシーではreport-toを使うことが多いです。