1
우리는 Rails 3 앱에서 페이지 머리글에 csrf_meta_tag
을 사용하는 것과 자동으로 생성 된 양식의 두 세트의 CSRF 토큰을 생성하는 페이지가 있습니다. 우리 ERB는 다음과 같습니다한 페이지에 두 개의 CSRF 토큰이 있으면 문제가 발생합니까?
레이아웃 :
<html>
<head>
<%= csrf_meta_tag %> <%# Generates CSRF tokens %>
</head>
<body>
<%= yield %>
</body>
</html>
보기 :
<% form_for @my_model do |f| %> <%# Generates more CSRF tokens %>
<%= f.submit %>
<% end %>
이 만족할 만합니까? 생성 된 제출 버튼 또는 JavaScript를 통해 양식 제출시 문제가 발생할 가능성이 있습니까? 이것이 나쁜 생각 인 경우,이 상황을 처리하기위한 Rails의 방법은 무엇입니까?
몇 가지 실험을 통해 Rails가 모든 토큰에 동일한 값을 주입하는 것처럼 보입니다. 그 행동에 의지 할 수 있을까요? – Kevin
토큰 값이 뷰를 렌더링하기 전에 응용 프로그램 컨트롤러에 의해 제공되기 때문에 이러한 현상이 발생합니다. 따라서 명시 적으로 (<% = csrf_meta_tag %>) 또는 암시 적으로 (단순 양식과 csrf의 공동 기능으로) 소환 될 횟수와 상관없이 동일한보기에서 값이 동일하게됩니다. –