프로젝트 용 인증 시스템을 구축 중입니다.레일 - 세션 용 쿠키 또는 액티브 레코드 저장소
- 쿠키의 저장
- 액티브 레코드 스토어 또한
에 대한 보안 문제가 무엇 : 저장 세션 정보에 권장되는 방법은 (난 그냥 다른 사용자의 ID 아무것도 저장하지 오전) 란 무엇입니까 중첩 된 양식을 사용하고 accepts_nested_attributes_for를 사용합니다.
알려 주시기 바랍니다.
미리 감사드립니다.
프로젝트 용 인증 시스템을 구축 중입니다.레일 - 세션 용 쿠키 또는 액티브 레코드 저장소
에 대한 보안 문제가 무엇 : 저장 세션 정보에 권장되는 방법은 (난 그냥 다른 사용자의 ID 아무것도 저장하지 오전) 란 무엇입니까 중첩 된 양식을 사용하고 accepts_nested_attributes_for를 사용합니다.
알려 주시기 바랍니다.
미리 감사드립니다.
레일스는 기본적으로 쿠키 저장소를 기본으로하므로 이동하는 방법이 중요합니다. 일반적으로 쿠키 저장소는 트래픽이 많은 사이트의 경우 특히 유용합니다. 세션에 중요한 업무를 저장하면 안됩니다 (사용자 ID 만 저장하는 경우).
그런 보안 사용에 관한 한 ... 너무 많다고 생각하지 않습니다. railscasts를 사용하여 위의 튜토리얼을 참조하십시오. 마음에 오는 것은 질량 할당 할 수있는 것을 제한하기 위해 attr_accessible을 사용하는 것일뿐입니다. 또한 CanCan은 필요한 경우 승인을위한 훌륭한 보석입니다.
하나의 ID 만 저장하는 경우 쿠키를 사용하십시오. AR 세션은 여전히 요청을 세션과 연관시키기 위해 쿠키에 일종의 ID를 요구합니다.
쿠키 저장소를 사용할 때 확실히 보안 문제가 있습니다. 주된 문제점은 서버 측에서 CookieStore 세션을 종료 할 수 없다는 것입니다. 누군가가 쿠키에 액세스 할 수 있으면 쉽게 로그인 할 수 있습니다. 로그 아웃하고 새 쿠키로 새 세션을 시작한 경우에도 마찬가지입니다.
ActiveRecordStore는 최소한 데이터베이스에서 세션을 제거하여 세션을 무효화 할 수있는 기능을 제공합니다.
좋은 블로그 게시물입니다. http://www.bryanrite.com/ruby-on-rails-cookiestore-security-concerns-lifetime-pass/
우수한 포인트. –
당신이 사용하는 세션 저장소에 관계없이이를 검색하는 모든 사람에게 관련된 쿠키가 있습니다. 차이점은 m 키가 세션 자체를 포함하는지 또는 데이터베이스에 저장된 세션과 연관시키는 불투명 식별자 만 포함하는지 여부 중 하나입니다. 두 경우 모두 보안이 중요하다면 이러한 종류의 쿠키 중 하나는 비보안 연결을 통한 전송 가능성을 막기 위해 "안전한"것으로 표시되어야합니다. 이는 세션 하이재킹의 가능성에 취약하게 만듭니다. –
쿠키가 기본적으로 사용되는 경우 쿠키가 안전하다는 의미는 아닙니다. 그들은 더 빠르며, DB를 오염시키지 않지만 안전하지는 않습니다. – sekrett