현재 로그인 한 사용자의 유형을 session[:user_type]
에 저장하려고 생각했습니다. 옵션은 "admin", "end_user", "demo"(앞으로 더 많은 사용자 유형을 추가 할 수 있음)입니다.레일 : "세션"에 데이터를 저장하는 것이 안전합니까?
레일즈 3 애플리케이션에서 그렇게하는 것이 안전한지 궁금합니다.
사용자가 session[:user_type]
을 "demo"에서 "admin"으로 어떻게 변경할 수 있습니까? 이 스레드에서
하나의 질문 : 사용자 ID가 쿠키에 저장되어있는 경우 사용자가이를 변경하려고 시도 할 수 없습니까? (여러 번 시도한 후에 관리자 아이디를 추측 할 수 있습니다.) –
@Misha. 맞아, user_id는 조작 될 수 있기 때문에 쿠키에 있어서는 안된다. 그러나 user_id를 세션에 저장하고 cookie_store를 사용하지 않으면 Mike의 첫 번째 대안처럼 문제가 발생하지 않습니다. – oma
이것은 완전히 정확하지 않습니다 (아래의 ThoKra가 링크 된 기사를 읽으십시오). Rails는 다이제스트로 쿠키에 서명하고 다이제스트가 일치하지 않으면 세션 값에 대해 nil을 반환하므로 최종 사용자가 쿠키에 저장되어 있어도 세션 값을 변경할 수 없습니다. –