web-dev-qa-db-ja.com

Spring Boot Webアプリケーションでcsrfを無効にする理由は何ですか?

Csrfを無効にする方法を示す多くのチュートリアルがありますが、

csrf().disable()

(および.properties.ymlなどのその他の可能性)しかし、なぜこれを行うのかは説明されていませんか?

だから私の質問は:

無効にする実際の理由は何ですか?
パフォーマンスは向上しますか?

12
arminvanbuuren

無効にする実際の理由は何ですか?

Springのドキュメントは次を示唆しています:

通常のユーザーがブラウザで処理できるリクエストにはCSRF保護を使用することをお勧めします。 ブラウザ以外のクライアントが使用するサービスのみを作成する場合は、CSRF保護を無効にすることをお勧めします。


パフォーマンスが向上しますか?

パフォーマンスに影響はありません。フィルター(または別のコンポーネント)が要求処理チェーンから削除され、機能が使用できなくなります。

Spring Bootアプリケーションでcsrfを無効にする理由は何ですか?

  1. 別のトークンメカニズムを使用しています。
  2. クライアントとサーバー間の相互作用を単純化したい。
8
Andrew Tobilko

ブラウザクライアントにサービスを提供する際に使用することを推奨します、そうでない場合は無効にすることができます:

通常のユーザーがブラウザで処理できるリクエストにはCSRF保護を使用することをお勧めします。ブラウザ以外のクライアントが使用するサービスのみを作成する場合は、CSRF保護を無効にすることをお勧めします。

ブラウザークライアントをサーバーする場合でも追加しますが、内部で使用するのは削除したい/使用できる場合のみです。

2
user7294900