문제

레일 튜토리얼의 8 장에서는 브라우저가 닫힌 후에도 세션을 기억하기 위해 "토큰 기억"이라는 아이디어를 소개합니다.그는 세션이 사용자를 가리키는 기억 토큰으로 구성 되며이 기억이 사용자 객체에 저장됩니다.

이전 버전의 데이터베이스가 위반되면 암호가 여전히 안전하다는 데 많은 작업을 수행합니다.그러나 기억 _Tokens의 도입을 통해 데이터베이스 위반은 일반 텍스트 기억 토큰을 생성하여 세션을 쉽게하기 쉽습니다.

아마도 고유 한 "마법"(일반적으로 케이스 인 것처럼 보통 CSRF가 적절한 것으로 예방되는 것처럼 보통) 토큰을 유효합니다 ... 누구든지 나를 계몽 할 수 있습니까?

도움이 되었습니까?

해결책

쿠키에 세션 토큰을 저장하면 CSRF 공격에 취약 할 수 있습니다.응용 프로그램을 레일에서 이러한 유형의 공격에 안전하게하려면 페이지에 CSRF 토큰을 추가하는 도우미가 있습니다.

<%= csrf_meta_tags %>
.

및 필터 (protect_from_forgery)

  class FooController < ApplicationController
    protect_from_forgery :except => :index
.

레일 보안에 대한 자세한 내용은 "Nofollow"> http://guides.rubyonrails.org/security.htmlps./security.html.a>

다른 팁

데이터베이스를 위반해도 일반 텍스트 기억 토큰을 기억하지 않습니다.
우리는 토큰 다이제스트 을 데이터베이스에 저장합니다.이것들은 일찍 암호처럼 해시되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top