こんにちは、鈴木です。 CSRF 対策で使用する protect_from_forgery ですが、Rails3 からはトークンの検証 NG の場合に reset_session するように動作が変更されました。 今まではトークンの検証で NG だった場合に InvalidAuthenticityToken が raise されていましたが、デフォルトでは reset_session されるようになりました。 protect_from_forgery の動作 protect_from_forgery は、以下のようにコントローラに書いておくことで、リクエストとセッションに持たせたトークンが等しいことを検証してくれます。