0

私のアプリケーションのコントローラは次のようになります。check_csrfなければRails CSFRの保護:before_filterを書くことはcorrentですか?

class ApplicationController < ActionController::Base 
    protect_from_forgery 
    before_filter :check_csrf 
    def check_csrf 
    if not verified_request? 
     redirect_to root_url, :error => "forgery protection" 
     return 
    end 
    end 
end 

、Railsは悪い応答にサーバーコンソールに警告、その後、実行は通常のように続けて書き込みます。だから私は自分のcheck_csrfを書く必要があった。今それは正常に動作します。それが正しいか?悪い要求の実行を停止する簡単な方法はありますか?

Railsバージョン:3.1。

答えて

2

handle_unverified_requestを上書きする必要があります。

そのような何か:

class ApplicationController < ActionController::Base 
    protect_from_forgery 

    protected 
    def handle_unverified_request 
     redirect_to root_url, :error => "forgery protection" 
    end 
end 
関連する問題