2014-01-22 2 views
0

나는 다음과 같은 코드 조각이 :Ruby : protect_from_forgery 언제 발생합니까?

class Foo < ActiveRecord::Base 
    protect_from_forgery 
end 

protect_from_forgery를 호출 할 때 내 의심의 여지가있다? Foo의 인스턴스가 생성되면?

브라우저는 POST 요청을 전송

은 레일이와 추가 인증 토큰을 포함한다 : 자신이 여기에 더 나은 답을 알고 있지만 것보다 더 많은 지식과 사전에

덕분에

답변

1

누군가가 내가 알고있는 방법입니다 해당 사용자 세션에 해당하는 요청 다른 사용자 인증 토큰을 알고있는 경우 해당 토큰을 포함하는 페이지에 html 요소를 추가하고 해당 사용자로 위장하는 요청을 제출할 수 있습니다. 이를 교차 사이트 요청 위조라고합니다. 이러한 공격으로부터 사이트를 보호하기 위해 레일에는 protect_from_forgery이라는 메서드가 있습니다. 이 방법은 응용 프로그램 컨트롤러의 맨 위에 배치해야하므로 각 요청의 신뢰성을 확인하십시오.

자세한 내용은 Rails Guide to Security에서 확인할 수 있습니다.