LoginSignup
28

More than 5 years have passed since last update.

protect_from_forgery with: :exception について調べたメモ

Posted at

結論

  • このコードがあると、Railsで生成されるすべてのフォームとAjaxリクエストにセキュリティトークンが自動的に含まれる。セキュリティトークンがマッチしない場合には例外がスローされる。

クロスサイトリクエストフォージェリとは

  • ユーザー認証が完了したwebアプリのページに悪意のあるコードやリンクを仕込む
  • Rails Guide

対策

  • 基本的に問い合わせである場合GETを使う
  • リソースの状態が変わったり、命令だったりする場合にはPOST
  • <script> タグなどを使って意図に反して勝手にPOSTリクエストが送られてしまう可能性がある、そのためprotect_from_forgery with: :exception をつける

RailsのCSRFについてもっと詳しく

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
28