2012-02-14 6 views
2

필자는 며칠 전 피라미드 프레임 워크에서 사이트를 시작했으며, 정확도 이유로 session.type = cookiepyramid_beaker으로 선택했습니다.Pyramid_beaker : session.type = 쿠키가 안전하지 않습니까?

usr: "d79c098d69c26a4a85459acf03104ad74f3a22de1!userid_type:int" 
# for example here is encrypted id 1 

을 내가 쿠키를 대체하려고 것보다 : 그래서 쿠키에 내가 암호화 한 USER_ID, 그것은 다음과 같이합니다. 나는 2 번 아이디에 로그인했고, 이전 아이디에 쿠키를 바꿨다. 이제 id 1 아래에 자동으로 로그인된다.

정상입니까? 안전 해요??? 슈퍼 알고리즘으로 암호화하는 것보다? 따라서 일부 바이러스는 사용자의 쿠키를 훔쳐서 자신의 ID로 로그인 할 수 있습니까? 그리고 보안은 어디에 있습니까 ???

누구나 설명 할 수 있습니까? 감사합니다.

+0

"이전 쿠키에서 쿠키를 변경했습니다" "="쿠키를 1로 변경했습니다 "? – Griwes

+0

@Griwes 내 예제에서 암호화 된 문자열로 바꿨다는 것을 의미합니다. 이제는 다른 사용자입니다 ... –

+2

쿠키 작동 방식입니다. 이것이 쿠키 자체만으로는 안전하게 작동하지 않는 이유입니다. – Griwes

답변

5

예, 세션 쿠키는 도용 당하고 로그인 한 사용자를 가장하는 데 사용됩니다. 세션에 짧은 수명을 부여하거나 클라이언트의 IP 주소에 묶어서 이러한 위험을 어느 정도 줄일 수 있지만 이러한 위험은 헌신적 인 해커의 걸림돌 일뿐입니다. 유일한 실제 솔루션은 SSL을 사용하여 세션을 완전히 암호화하는 것입니다. 많은 인기 사이트 (Gmail, Facebook 등)가 HTTPS 세션을 제공하거나 필요로하는 이유와 Firefox 확장자가 HTTPS Everywhere 인 이유입니다.

+0

내 솔루션은 쿠키를 (예를 들어) 데이터베이스로 변경하는 것입니다. –

+0

필자는 Pyramid를 한번도 사용해 본 적이 없지만 일반적으로 세션이 백 엔드 (예 : 서버의 데이터베이스)에 저장되어있는 경우에도 세션 쿠키를 사용하여 사용자를 데이터베이스 레코드와 연결함으로써 프레임 워크에서 ' 각 요청에 대해 사용자를 인증해야합니다. 이것은 동일한 취약점이 있습니다. – kindall

+0

오직 내가 말할 수있는 것은 위대한 ...하지만 설명 주셔서 감사합니다, 그것은 많은 도움이되었습니다. –

관련 문제