0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

springbootで個人開発をする中で、認証認可にspring securityを使用して
どうやら自動でCSRF対策をしてくれているとのことでどのような仕様になっているのかを調べてみたので備忘録として残しておこうと思います。

CSRFとは

クロスサイトリクエストフォージェリ(Cross-Site Request Forgery)の略。
ユーザーがログイン中であることを悪用して、ユーザーの意図しないリクエストを送る攻撃を指します。
例えばあるアプリにログイン済みでセッションIDがクッキーに保存されていた場合、別の悪意のあるページからPOSTでログイン中のアプリに不正なリクエストを送られて操作されてしまうというようなことがあるます。

thymeleafのth:action属性

th:action属性はHTMLへレンダリングされる際に、CSRFトークンもフォームに埋め込まれて送信される仕様になっている。あとはspring securityのfilterの方でよしなに検証してくれるわけだ。
<レンダリング前>

<form th:action="@{/login}" method="post" th:object="${userForm}">

<レンダリング後>

<form action="/login" method="post"><input type="hidden" name="_csrf" value="CSRFトークン"/>

まとめ

結論フレームワークは色々自動でやってくれて便利だなと改めて実感。
↓今回参考にしたドキュメント

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?