웹 개발자로써/webservice

InvalidAuthenticityToken

GsBOB 2010. 8. 26. 13:02
Ruby on Rails를 사용한 웹 서비스에

POST를 하게 되면 [ InvalidAuthenticityToken ] 오류가 종종 발생한다.

방법은 두가지가 있다고 하는데..

  • CSRF 기능을 끄는 방법
  • <FORM> 태그 대신 레일스의 폼 헬퍼 메서드 즉 form_tag 등의 기능을 사용하는 방법
  • 레일스 2.0에는 CSRF (Cross-Site Request Forgery) 공격을 막기 위한 기능이 포함되었습니다. CSRF를 위해 form에 안전한 키를 숨기고 서버사이드에서는 내가 발급한 키가 맞는지 확인해서 값을 비교합니다. 이 때 뭔가 문제가 있으면 InvalidAuthenticityToken 예외가 발생합니다.

    우선 가장 간단한건.. 컨트롤루비 파일에

    skip_before_filter :verify_authenticity_token

    이 한줄만 추가해주면 막아진다고 합니다.