Content-Security-Policyヘッダーの構成/実装について読み、2つの方法に出くわしました。
この質問は this と重複していないことに注意してください、Iamは this linkで与えられたよりも良い解決策を探しています
(1)の欠点は、構成ファイルではなくコードを介して駆動されることです。オプション(2)の欠点は、100個のhtmlファイルがある場合、このタグをすべてのHTMLに配置する必要があることです。 (間違っている場合は訂正してください)私が探している解決策は、web.xmlで構成できるものであり、すべてのhtmlファイルに適用できるようになります。与えられた ここ のようにweb.xmlでX-Frame-Optionsを構成する場合と同じように、web.xmlでContent-Security-Policyを構成する同様の方法はありませんか?
リンクでOWASPが提供する推奨事項を使用できます https://svn.cesecore.eu/svn/ejbca/trunk/ejbca/modules/ejbca-common-web/src/org/owasp/filters/ContentSecurityPolicyFilter .Java 。これは、バックエンドに実装できるWebフィルターです。
次に、以下のフィルターをweb.xmlファイルで定義する必要があります。これは、アプリケーションのすべてのリクエストで呼び出されます。 Javaでは、適切なクラスを作成することでこれを行うことができます。
<filter>
<filter-name>ContentSecurityPolicy</filter-name>
<filter-class>YourPackagePath.ContentSecurityPolicyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ContentSecurityPolicy</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
上記は、HTTPヘッダーのcontent-security-policyに以下の値を実装します
default-src 'なし'; style-src'self''unsafe-inline '; script-src'self''unsafe-inline''unsafe-eval '; img-src '自己'; frame-src'self '; connect-src '自己';フォームアクション '自己';反映-xssブロック
https://github.com/sourceclear/headlines (デッドリンク、これが私が見つけることができるすべてです: https://github.com/stevespringett/headlines を使用してみましたか=)?目標は、セキュリティ関連のヘッダーを、要求されたコードではなく構成の問題にすることです。
{
"XContentTypeConfig": {
"enabled": true
},
"XFrameOptionsConfig": {
"enabled": true,
"value":"DENY"
},
"XssProtectionConfig": {
"enabled": true
},
"HstsConfig": {
"enabled": true,
"includeSubdomains":true,
"maxAge":31536000
},
"CspConfig": {
"csp": {
"default-src":["'self'"]
},
"cspReportOnly":{}
},
... snip
}