データインジェクション攻撃などのような、特定の種類の攻撃を検知し、影響を軽減するために追加できるセキュリティレイヤーです。これらの攻撃はデータの窃取からサイトの改ざん、マルウェアの拡散に至るまで、様々な目的に用いられます。ついては後方互換性がない点もあり、明示的に記述されています。章を参照してください)。実装済のサーバーと通信でき、逆もまた同様です。無視し、ウェブコンテンツにはこれまで通り標準の同一オリジンポリシーを適用します。ヘッダーに関する記述が時々ありますが、これは古いバージョンのものであり、今日このヘッダーを指定する必要はありません)。要素を用いてポリシーを指定することも可能です。攻撃の軽減と報告です。攻撃とは、サーバーから取得したコンテンツをブラウザーが信頼する性質を悪用した攻撃です。ブラウザーはコンテンツの送信元を信頼するため、たとえ実際の送信元が見かけ上とは異なっていたとしても、悪意あるスクリプトが被害者のブラウザー上で実行されてしまいます。発生する箇所を削減・根絶することができます。属性値のイベントハンドラも無視する対象に含まれます)。究極的な防衛策として、スクリプトを決して実行させたくないサイトは、スクリプトの実行を全面的に拒否することも可能です。取得するコンテンツのドメインを制限することに加えて、サーバーは通信に使うプロトコルを指定することも可能です。取得されるようにサーバーから指定することが出来ます。ページへの自動リダイレクトを整備することも必要です。ヘッダーを利用することも可能です。ヘッダーを返すようにし、その値にはユーザエージェントに読み込ませたいリソースの情報を指定します。属性値は特定のエンドポイントに制限する必要があります。コンテンツセキュリティポリシーを適切に設計すれば、クロスサイトスクリプティング攻撃に対する耐性を高めることができます。この記事では、適切なヘッダーの作成方法と記述例を紹介します。ヘッダーを以下のように用います。箇所には、適用したいコンテンツセキュリティポリシーを表すディレクティブから構成される文字列が入ります。ポリシーの記述ポリシーはポリシーディレクティブを列挙することで表現します。このポリシーディレクティブは、特定の種類のリソースや、ポリシーの適用範囲をそれぞれ表すものです。ディレクティブを指定するべきでしょう。説明を参照してください)。指定する必要があります。指定が必要となります。一般的な適用例この章では、一般的なセキュリティポリシーの適用例を示します。(CSPがセットされたドメインと同一とは限らない)。3サイト管理者がウェブアプリのユーザーに、任意のドメインからの画像読み込みを許可したい場合。音声や動画は信頼された配信元からのものだけに制限し、すべてのスクリプトは、信頼されたコードをホストする特定のサーバーのみに制限する。userscripts.example.comこの例では、コンテンツのデフォルト設定としてドキュメント自身のホストのみを許可していますが、以下の例外を認めています。(ただしサブドメインは許可されません)。ものだけ許可されます。読み込むようにしたい場合。他に危険性のあるコンテンツは許可したくない場合。指定していないことに注意してください。ディレクティブの設定を適用します。スクリプトは元のサーバーのものだけ読み込まれます。モードで動作させることが可能です。ポリシー違反の内容が報告されます。モードは利用できます。ヘッダーに指定します。ヘッダーが存在した場合、どちらのポリシーも考慮されます。ヘッダーに指定したポリシーは報告のみが行われます。既定では、違反内容は報告されません。以上指定する必要があります。指定したら報告を受け取るサーバーを立ち上げます。受信した内容は適切に感じるどんな方法でも保存・処理することができます。オブジェクトで送信されます。スキーム・ホスト・ポートのみを含むように切り詰められます。ヘッダーのどちらが使われているかで決まる。effective-directive実行により違反を起こしたディレクティブです。ヘッダーに元々指定されていたポリシー。referrer違反が生じたドキュメントのリファラー。violated-directive違反したポリシーセクションの名前。いうページを例に考えます。スタイルシートのみを許可しています。読み込もうとしています。リクエストで送信されます。違反の原因となったリソースのフルパスが記録されています。フルパスが記録されるとは限りません。