0

내 응용 프로그램 컨트롤러는 다음과 같습니다 check_csrf없이레일 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 

은, 레일 나쁜 반응에 서버 콘솔에 경고 쓰기가 다음 실행으로 일반적으로 계속됩니다. 그래서 나는 내 자신의 check_csrf를 써야만했다. 이제 제대로 작동합니다. 맞습니까? 나쁜 요청의 실행을 중지하는 간단한 방법이 있습니까?

레일 버전 : 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