ActionController::InvalidAuthenticityToken — 여기서 무슨 일이 일어나고 있습니까?

ActionController::InvalidAuthenticityToken에 몇 가지 일이 있습니다. 시작하겠습니다!

우선 ActionController는 Ruby on Rails의 모든 "컨트롤러"가 상속하는 클래스이며 "인증 토큰이 유효한지 확인"과 같은 많은 기능이 내장되어 있습니다. Rails는 구성보다 규칙을 선호하고 의견이 많기 때문에 기능을 가져오는 대신 이 동작이 기본값입니다.

컨트롤러가 POST , PUT , PATCH 또는 DELETE 요청과 함께 CSRF(Cross Site Request Forgery) 토큰을 제대로 전달하지 않았음을 감지하면 이 오류가 발생합니다. 이는 일반적으로 새 데이터를 서버로 보내고 이것이 웹사이트를 사용하는 사용자를 대신하여 합법적으로 수행되는지 확인해야 하는 요청 유형입니다.

CSRF 및 관련 취약점에 대한 자세한 내용은 여기를 참조하십시오...




Rails에서 form_for 또는 관련 태그를 사용할 때 마법처럼 authenticity_token를 매개변수로 요청과 함께 전달합니다. 따라서 초기 요청에서 생성된 제대로 생성된 CSRF 인증 토큰을 수동으로 추가하지 않고 일반 HTML 양식을 제출하려고 하면 InvalidAuthenticityToken 오류가 발생합니다.

때때로 우리는 이 검사를 할 필요가 없다는 것을 알고 있다면 이 동작을 합법적으로 건너뛰기를 원할 것입니다. 다음과 같이 조심스럽게 할 수 있습니다 ...

skip_before_action :verify_authenticity_token

여기에 설명된 일부 개념에 대한 자세한 내용은 이 게시물을 확인하십시오...





행복한 코딩 ❤️

좋은 웹페이지 즐겨찾기