protect_from_forgery with: :exceptionについて調べたまとめ

ログイン機能をdeviseで作成する際、appコントローラーに下の記述をすると

ネットに書かれていてどういう意味だろうと思って軽く調べて見た


application_controller.rb

protect_from_forgery with: :exception


何故入れるのか?

・CSRF対策(クロスサイトリクエストフォージェリ)

サイトに攻撃用のコードを仕込むことで、アクセスしたユーザーに対して意図しない操作を行わせる

攻撃のことです。

自分の日記や掲示板に意図しない書き込みがされたりといった被害を受ける可能性がある。

対策

Appコントローラーとレイアウトに以下のコードを記載


application_controller.rb

protect_from_forgery with: :exception



applicaiton.html.erb.rb

<%= csrf_meta_tags %>