LoginSignup
1
0

More than 3 years have passed since last update.

フォームHTMLでAuthenticity_tokenが生成されるのはなぜなのか

Last updated at Posted at 2021-03-30

はじめに

この記事では、Railsチュートリアル第7章で登場したフォームのHTMLソースの2つ目のタグの中にある、Authenticity_tokenが生成される理由について記します。

なぜ生成されるのか?

大雑把に言えば、ユーザーが本当にそのフォームに記入をする意思を持ってフォームを呼び出したことを明確にするためです。逆にユーザーの意思に反してフォームへの記入がされる場合とは何かというと、「クロスサイトリクエストフォージェリ」という攻撃を受けた場合です。これについても大雑把な説明になってしまいますが、何らかの悪意を持った攻撃者が被害者を誘導し、特定のページにPOSTリクエストを送るプログラムを被害者に実行させる攻撃をクロスサイトリクエストフォージェリと呼びます。この攻撃によって為されたPOSTリクエストは、事前のフォームページへのGETリクエストを伴いません。そのため、攻撃と区別するために、ユーザーが意思を持ってフォームを記入する場合は、事前にフォームページをGETリクエストで取得した証拠をアプリケーションのサーバー側に示すことが必要になり、その証拠としてAuthenticity_tokenが使われます。以上がAuthenticity_tokenが生成される理由になります。

1
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
1
0