14

Web アプリケーション (web-app) とレポート Web の 2 つの Web アプリケーションがあります。の web-app にレポート web を埋め込みたいです<iframe>。そのため、ブラウザによって次のエラーで拒否されました。

X フレーム オプション: 拒否

何か助けはありますか?

4

3 に答える 3

19

X-Frame-options の値は、DENY (デフォルト)、SAMEORIGIN、および ALLOW-FROM uri です。Spring Security のドキュメントによると、Spring にカスタム ヘッダーを追加してデフォルトの動作を上書きするように指示できます。

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .headers()
            .addHeaderWriter(new XFrameOptionsHeaderWriter(new WhiteListedAllowFromStrategy(Arrays.asList("www.yourhostname.com"))))
    ...
}

Spring は X-Frame-Options: ALLOW-FROM ... または

 .addHeaderWriter(new XFrameOptionsHeaderWriter(XFrameOptionsHeaderWriter.XFrameOptionsMode.SAMEORIGIN))

X-Frame-Options の場合: SAMEORIGIN または完全に無効にする

http.headers().frameOptions().disable()
于 2015-01-27T13:19:30.830 に答える
9

編集 (06.2020) - X-Frame オプションは廃止されました:

「frame-ancestors ディレクティブは X-Frame-Options ヘッダーを廃止します。リソースに両方のポリシーがある場合、frame-ancestors ポリシーを適用する必要があり、X-Frame-Options ポリシーを無視する必要があります。」
https://www.w3.org/TR/CSP2/#frame-ancestors-and-frame-options

使用を検討してcontent-security-policyください:

<headers>
    <content-security-policy policy-directives="frame-ancestors 'self'"/>
</headers>

Spring Security 4.x を使用している場合、次の構成で問題が解決します (webapp が同じサーバー アドレスで実行されていると仮定します)。

XML 構成:

<http>
    <!-- ... -->

    <headers>
        <frame-options policy="SAMEORIGIN" />
    </headers>
</http>

Java 構成:

@EnableWebSecurity
public class WebSecurityConfig extends
WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
        // ...
        .headers().frameOptions().sameOrigin();
    }
}

構成を無効にする

セキュリティリスクを認識して、無効にすることもできます。

http.headers().frameOptions().disable();


背景情報

Spring Security 3.2.0 では、セキュリティ ヘッダーが導入されましたが、デフォルトでは無効になっていました:
http://spring.io/blog/2013/08/23/spring-security-3-2-0-rc1-highlights-security-ヘッダー/

Spring Security 4.x では、ヘッダーはデフォルトで有効になっています (IFrame の場合: X-Frame-Options: DENY):
http://docs.spring.io/spring-security/site/migrate/current/3-to-4/html5/migrate-3-to-4-jc.html#m3to4-header

ソース: http://docs.spring.io/autorepo/docs/spring-security/4.0.x/reference/html/headers.html#headers-frame-options

于 2015-08-20T14:09:06.770 に答える
0

使用できます

<headers>
  <frame-options policy="SAMEORIGIN"/>
</headers>

<http>セキュリティ アプリケーション コンテキスト XML の設定内

于 2015-08-05T10:41:39.683 に答える