クラス ContentSecurityPolicyHeaderWriter

  • 実装されたすべてのインターフェース:
    HeaderWriter

    public final class ContentSecurityPolicyHeaderWriter
    extends java.lang.Object
    implements HeaderWriter

    コンテンツセキュリティポリシー(CSP)レベル 2 をサポートします。

    CSP は、クロスサイトスクリプティング(XSS)などのコンテンツインジェクションの脆弱性を軽減するための Web アプリケーションのメカニズムを提供します。CSP は、Web アプリケーションの作成者が、アプリケーションがリソースをロードすることを期待しているソースについてクライアント(ユーザーエージェント)に通知できるようにする宣言型ポリシーです。

    例: Web アプリケーションは、特定の信頼できるソースからのスクリプトのロードのみを想定していることを宣言できます。この宣言により、クライアントは、攻撃者によってアプリケーションに挿入された悪意のあるスクリプトを検出してブロックできます。

    セキュリティポリシーの宣言には、セキュリティポリシーディレクティブのセット(たとえば、script-src および object-src)が含まれ、それぞれが特定のリソース型の制限を宣言するロールを果たします。定義されているディレクティブのリストは、ディレクティブにあります。

    各ディレクティブには名前と値があります。セキュリティポリシーの記述に関する詳細な構文については、構文とアルゴリズムを参照してください。

    この HeaderWriter の実装は、次のいずれかのヘッダーを書き込みます。

    • コンテンツセキュリティポリシー
    • コンテンツ - セキュリティ - ポリシー - レポートのみ

    デフォルトでは、Content-Security-Policy ヘッダーがレスポンスに含まれています。ただし、true を使用して setReportOnly(boolean) を呼び出すと、レスポンスに Content-Security-Policy-Report-Only ヘッダーが含まれます。: 提供されたセキュリティポリシーディレクティブは、有効になっている(含まれている)ヘッダーに使用されます。

    CSP は、コンテンツインジェクションの脆弱性に対する最初の防衛線として意図されたものではありません。代わりに、CSP を使用して、コンテンツインジェクション攻撃によって引き起こされる害を軽減します。コンテンツインジェクションに対する最初の防衛線として、Web アプリケーションの作成者は、入力を検証し、出力をエンコードする必要があります。

    導入:
    4.1
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   具象メソッド  
      修飾子と型 メソッド 説明
      voidsetPolicyDirectives​(java.lang.String policyDirectives)
      レスポンスヘッダーで使用されるセキュリティポリシーディレクティブを設定します。
      voidsetReportOnly​(boolean reportOnly)
      true の場合、レスポンスに Content-Security-Policy-Report-Only ヘッダーを含めます。それ以外の場合、デフォルトで Content-Security-Policy ヘッダーになります。
      java.lang.StringtoString()
      voidwriteHeaders​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Header インスタンスを作成します。
      • クラス java.lang.Object から継承されたメソッド

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • コンストラクターの詳細

      • ContentSecurityPolicyHeaderWriter

        public ContentSecurityPolicyHeaderWriter()
        新しいインスタンスを作成します。デフォルト値: default-src'self '
      • ContentSecurityPolicyHeaderWriter

        public ContentSecurityPolicyHeaderWriter​(java.lang.String policyDirectives)
        新しいインスタンスを作成します
        パラメーター:
        policyDirectives - setPolicyDirectives(String) にマップ
        例外:
        java.lang.IllegalArgumentException - policyDirectives が null または空の場合
    • メソッドの詳細

      • setPolicyDirectives

        public void setPolicyDirectives​(java.lang.String policyDirectives)
        レスポンスヘッダーで使用されるセキュリティポリシーディレクティブを設定します。
        パラメーター:
        policyDirectives - セキュリティポリシーディレクティブ
        例外:
        java.lang.IllegalArgumentException - policyDirectives が null または空の場合
      • setReportOnly

        public void setReportOnly​(boolean reportOnly)
        true の場合、レスポンスに Content-Security-Policy-Report-Only ヘッダーを含めます。それ以外の場合、デフォルトで Content-Security-Policy ヘッダーになります。
        パラメーター:
        reportOnly - ポリシー違反を報告する場合にのみ true に設定
      • toString

        public java.lang.String toString()
        オーバーライド:
        クラス java.lang.ObjecttoString