2016-11-02 7 views
0

Rails 2 응용 프로그램에서 csrf 토큰을 확인해야하는 작업이 있습니다.Rails 2에서 html form 태그로 authenticity (csrf) 토큰을 보냈습니까

protect_from_forgeryapplication_controller.rb입니다. 지금 내 응용 프로그램에서, 대부분의 장소는 내가

<%form_tag%> 

문제는 HTML 양식 대신 레일을 사용하고 있습니다 : 기본적으로

레일 <%form_tag%>는 인증 토큰을 보냅니다.

html form 태그도이 작업을 수행합니까? 또는 <html>을 사용하는 모든 장소에서 숨겨진 진품 토큰 필드를 수동으로 추가해야합니까?

답변

0

확실한 토큰 인 hidden_field가 첨부되어 있으므로 < % form_tag %>을 사용하는 것이 좋습니다. 그렇지 않은 경우 HTML 양식 태그를 사용하는 경우 수동으로 숨겨진 필드를 추가해야합니다.

내 제안은 form_tag를 사용하여 모든 것을 변경하고 나머지는 레일로 처리하도록하는 것입니다. 약간의 고통은 이제 앞으로 많은 코드 빚을 줄여 줄 것입니다.

+0

그래서 ... html 양식이 정품 인증 토큰을 보내지 않습니까? –

+0

네, 그 form_tag에 대한 이유는, 당신이 진품 토큰 숨겨진 필드를 자동으로 구축 도움이된다고 가정합니다. –

0

모든 양식을 form_tag으로 다시 쓸 수 있습니다.

또한 인증 토큰을 직접 양식에 삽입 할 수 있습니다. 다음과 같은 것 :

<form action=... > 
    <%= hidden_field_tag :authenticity_token, form_authenticity_token %> 
    ... rest of your form ... 
</form> 
+0

답변 해 주셔서 감사합니다. 수동으로 토큰을 추가해야합니다. –