MDN may have intermittent access issues April 18 13:00 - April 19 01:00 UTC. See whistlepig.mozilla.org for all notifications.

mozilla
Your Search Results

    CSP policy directives

    草案
    このページは完成していません。

    Web サイトの管理者が Content Security Policy (CSP) を使用して定義できるエリアには、いくつかのポリシーエリアがあります。これらの任意の組み合わせは、独自のポリシーセットを Web サイトの必要に応じてカスタマイズするために使用できます。これらのすべてを指定する必要はありません。

    コンテンツの提供元

    ほとんどのポリシーディレクティブは、一つまたは複数のコンテンツの提供元を必要とします。コンテンツの提供元は、コンテンツが読み込まれる可能性のある提供元を示す文字列です。

    提供元リスト

    提供元リストは、一つまたは複数のインターネットホストを名前や IP アドレスで指定する文字列です。 オプションの URL スキームやポート番号も同様に指定できます。サイトのアドレスは、ワイルドカード (アスタリスク記号, "*") を含められます。ワイルドカードはポート番号に使用することもできます。これは、提供元のすべてのリーガルなポート (all legal ports) が適正であることを示します。ホストはスペースで区切ります。

    以下は、正しいホスト式です:

    http://*.foo.com
    http: URL スキームを使用する foo.com とそのサブドメインからのすべての読み込みにマッチします。
    mail.foo.com:443
    mail.foo.com のポート番号 443 へのすべてのアクセスにマッチします。
    https://store.foo.com
    https: を使用した store.foo.com へのすべてのアクセスにマッチします。

    ポート番号が指定されない場合、ブラウザは指定されたスキームのデフォルトのポート番号を使用します。スキームが指定されない場合、保護されたドキュメントがアクセスに使用するスキームと同じものが使用されます。

    キーワード

    コンテンツの提供元の特別なクラスを記述するためのキーワードが利用できます:

    'none'
    空セットへの参照。どのホストともマッチしません。シングルクォートまで含めて記述します。
    'self'
    保護されたドキュメントが置かれているホストへの参照。同じ URL スキームとポート番号を含みます。シングルクォートまで含めて記述します。
    'unsafe-inline'
    インラインの <script> 要素、javascript: URL、インラインのイベントハンドラ、インラインの <style> 要素といった、インラインリソースの使用を許可します。シングルクォートまで含めて記述します。
    'unsafe-eval'
    文字列からコードを生成する eval() や類似メソッドの使用を許可します。シングルクォートまで含めて記述します。
    注記: 'unsafe-inline' および 'unsafe-eval' はどちらも安全ではなく、サイトでクロスサイトスクリプティングの脆弱性が発生するかもしれません。

    例えば、ドキュメントが置かれたホストと trustedscripts.foo.com から読み込まれるコンテンツを指定する場合は次のようにします:

    Content-Security-Policy: default-src 'self' trustedscripts.foo.com
    

    データ

    data:
    コンテンツの提供元として使用される data: URI を許可します。
    Content-Security-Policy: default-src 'self'; img-src 'self' data:
    

    サポートされたポリシーディレクティブ

    以下のポリシーディレクティブは、様々なポリシーエリアのセキュリティを制御するために利用できます。

    default-src

    default-src ディレクティブは、より明示的なディレクティブで明確に指定されていない、すべての種類のコンテンツのためのセキュリティポリシーを定義します。

    構文

    default-src source-list

    script-src

    script-src ディレクティブは、JavaScript の正当な提供元を指定します。他の提供元からのスクリプトを要求したり読み込んだりすることは許可されません。script-src ディレクティブまたは default-src ディレクティブが含まれている場合は、'unsafe-inline' や 'unsafe-eval' を指定しなければ、それぞれインラインスクリプトや eval() が無効になります。

    構文

    script-src host-expr

    object-src

    object-src ディレクティブは、<object> 要素、<embed> 要素、<applet> 要素の正当な提供元を指定します。これらの要素で他の提供元のものを使用することは許可されません。

    構文

    object-src source-list

    img-src

    img-src ディレクティブは、画像と favicon の読み込みに使用される可能性のある提供元を指定します。他の提供元からの画像を要求し読み込むことは許可されません。

    構文

    img-src source-list

    media-src

    media-src ディレクティブは、<audio> 要素と <video> 要素のメディアの読み込みに使用される可能性のある提供元を指定します。他の提供元からのメディアを要求し読み込むことは許可されません。

    構文

    media-src source-list

    frame-src

    frame-src ディレクティブは、<frame> 要素や <iframe> 要素を使用して読み込まれるフレームコンテンツの正当な提供元を指定します。

    注記: frame-src ディレクティブは非標準であり、Firefox だけがサポートしています。将来的にはおそらく、frame-options ディレクティブとして標準化されるでしょう。

    構文

    frame-src source-list

    font-src

    font-src ディレクティブは、@font-face を使用して読み込まれるフォントの正当な提供元を指定します。他の提供元からのダウンロード可能なフォントは、要求も読み込みもされません。

    構文

    font-src source-list

    connect-src

    connect-src ディレクティブは、XMLHttpRequest、WebSocket、EventSource 接続のための正当な提供元を示します。他の場所へ接続を開くことは許可されません。

    注記: Firefox 23 より前は connect-src ディレクティブの代わりに xhr-src が使用されており、こちらは XMLHttpRequest の使用だけを制限していました。

    構文

    connect-src source-list

    style-src

    style-src セクションは、読み込まれる可能性のあるスタイルシートの提供元を指定します。これには、外部から読み込まれるスタイルシートとインラインで使用される <style> 要素および HTML の style 属性の両方が含まれます。このホワイトリストに含まれていない提供元からのスタイルシートは、要求も読み込みもされません。style-src ディレクティブまたは default-src ディレクティブが含まれている場合は、'unsafe-inline' を指定しなければ <style> 要素や style 属性が無効になります。

    構文

    style-src source-list

    report-uri

    report-uri セクションは、Content Security Policy 違反を報告するようにブラウザに指示します。これらの違反報告は、HTTP POST 要求を通して指定した URI へ送信される JSON ドキュメントから成ります。詳細は、CSP 違反報告の使い方を参照してください。

    構文

    report-uri uri

    注記: Firefox は現在 report-uri で、Content Security Policy で保護されているコンテンツと同じ URL スキーマおよびポートを使用することが必要です。

    関連情報

    ドキュメントのタグと貢献者

    Contributors to this page: ethertank, Marsf, yyss
    最終更新者: yyss,