FireFoxでActionController::InvalidAuthenticityToken
FireFoxでActionController::InvalidAuthenticityToken
Rails2.0移行ではデフォルトでセッションがCookieとなったことから
CSRF対策がデフォルトで行われています。
get以外のリクエストについて、チェックを行っています。
具体的には"form_for"メソットがauthenticity_tokenというhiddenの情報をHTMLに生成し
こちらをチェックすることによって、正しいクライアントからのリクエストであることを確認しています。
この時に、authenticity_tokenについては
http://d.hatena.ne.jp/zariganitosh/20080207/1202373997
こちらのページに詳しく書いてありましたので参考にしてほしいのです。
そして、本題ですが
ApplicationControllerにおいて
class ApplicationController < ActionController::Base
protect_from_forgery #:secret => 'b80465322633a10f76a0e67dc7bfde1f'
この"secret"の後ろの気になるコメントを取ってみると
何が発生するのかと試してみたところ
IE7では問題なく実行できたのですが、
FireFoxにおいて"ActionController::InvalidAuthenticityToken"が発生しました。
正直原因までは良くわからないのですが
この値が指定されていると"authenticity_token"にこの値が指定され
ない場合はcookie_idが使用されるようなのですが
前者はセキュリティレベルが低いということでFireFoxではNGなのかなと?
へ、でもそんなことあるの?
と思った状態です。
もし詳しい方がいたら教えてください。