§セキュリティヘッダーの設定
Playは、セキュリティ上の問題を軽減し、新しいアプリケーションの防御レベルを向上させるために、HTTPレスポンスでいくつかのデフォルトヘッダーを設定するために使用できるセキュリティヘッダーフィルターを提供します。
§セキュリティヘッダーフィルターの有効化
注記: Play 2.6.x以降、セキュリティヘッダーフィルターは、プロジェクトに自動的に適用されるPlayのデフォルトフィルターのリストに含まれています。フィルターページで詳細を確認してください。
セキュリティヘッダーフィルターを手動で有効にするには、application.conf
のフィルターにセキュリティヘッダーフィルターを追加します。
play.filters.enabled += "play.filters.headers.SecurityHeadersFilter"
§セキュリティヘッダーの設定
Scaladocはplay.filters.headersパッケージにあります。
このフィルターは、HTTPレスポンスにヘッダーを自動的に設定します。設定は、application.conf
内の次の設定で構成できます。
play.filters.headers.frameOptions
- X-Frame-Optionsを設定します。デフォルトは“DENY”です。play.filters.headers.xssProtection
- X-XSS-Protectionを設定します。デフォルトは“1; mode=block”です。play.filters.headers.contentTypeOptions
- X-Content-Type-Optionsを設定します。デフォルトは“nosniff”です。play.filters.headers.permittedCrossDomainPolicies
- X-Permitted-Cross-Domain-Policiesを設定します。デフォルトは“master-only”です。play.filters.headers.referrerPolicy
- Referrer Policyを設定します。デフォルトは“origin-when-cross-origin, strict-origin-when-cross-origin”です。play.filters.headers.contentSecurityPolicy
- Content-Security-Policyを設定します。デフォルトは“default-src ‘self’”です。
注記:
contentSecurityPolicy
プロパティは非推奨となり、Play 2.7ではデフォルト値がnull
に設定されています。CspFilterで詳細を確認してください。
ヘッダーのいずれかを無効にするには、設定値をnull
に設定します。例えば
play.filters.headers.frameOptions = null
設定オプションの完全なリストについては、Playフィルターのreference.conf
を参照してください。
§アクション固有の上書き
セキュリティヘッダーは、結果のwithHeaders
を使用して特定のアクションで上書きできます。
Ok("Index").withHeaders(SecurityHeadersFilter.REFERRER_POLICY -> "my page-specific header")
withHeaders
に記載されていないセキュリティヘッダーは、通常の設定値
(存在する場合)またはデフォルト値を使用します。アクション固有のセキュリティヘッダーは、
設定でplay.filters.headers.allowActionSpecificHeaders
がtrue
に設定されていない限り無視されます。
次へ: CORSの設定
このドキュメントに誤りを見つけましたか?このページのソースコードはこちらにあります。ドキュメントガイドラインを読んだ後、プルリクエストを送信して自由に貢献してください。質問やアドバイスを共有したいですか?コミュニティフォーラムにアクセスして、コミュニティとの会話を開始してください。