Yesod book는왜 Yesod 세션 쿠키가 도용 될 수 없습니까?
암호화는 데이터를 검사에서 사용자를 방지라고하고, 서명은 세션 하이재킹 할 수 없습니다하지도 않고 이 무단으로 변경되도록합니다.
왜 그런지는 분명하지 않습니다. 도청자가 서버에서 전송 된 쿠키를 보관하고 합법적 인 사용자가 다른 요청을하기 전에 쿠키를 사용하면 세션이 도용되지 않습니까?
정말 세션 하이재킹을 방지하는 유일한 방법은 SSL을 사용하는 것입니다. 하지만 그렇게하면 Yesod가 서명하고 암호화하는 과정에서 불필요한 오버 헤드가 발생합니다 (EDIT : 오버 헤드 방지에 관한 오버 헤드. @sr_가 주석에서 지적했듯이, 그렇지 않으면 여전히 유용합니다).
여기에 완화 된 위협은 클라이언트가 쿠키를 저장함에 따라 너무 많이 신뢰 될 때 발생하는 일반적인 문제인 _ 사용자가 쿠키를 변경하는 것입니다. [hackage] (http://hackage.haskell.org/package/clientsession-0.9.1/docs/Web-ClientSession.html) : "쿠키의 저장 또는 전송에서 잠재적 인 오류를 발견하는 것 (무결성) 외에 MAC 또한 쿠키 데이터가 실제로이 서버 (진위성)에 의해 생성되었음을 보증하여 쿠키 데이터의 악의적 인 수정을 방지합니다. " –
@sr_ 동의 함. 제가 문제가되는 것은 쿠키가 도용 될 수 없다는 책의 주장입니다. 예를 들어, 내 사이트에서 인증을 사용하고 있지만 모든 내 페이지에서 SSL을 사용하지 않는다면 적절한 상황에서 공격자가 나를 사이트로 가장 할 수 있습니다. –