0

나는 응용 프로그램의 웹 전용 서버로 작동하는 컴퓨터를 사용하고 있습니다. 나는 보안 나에게 기능을 기억하고 개발하고자하는안전한 "내 계정 정보 기억"기능을위한 쿠키와 세션 비교

(그래서 세션이 공유되지 않습니다) 그리고 난 그것을 할 수있는 가장 좋은 방법이다 궁금 해서요 :

  • 세션이
  • 쿠키

쿠키를 사용하여 사용자 암호를 암호화하고 일부 소금을 만들고 데이터베이스에 일부 필드를 추가해야합니다. (자세한 내용은 here 또는 here)

이 경우 세션을 오래 사용하도록 구성하는 것이 더 간단하지 않습니까?

감사합니다.

+0

세션이 공유되지 않으면 오류가 발생하거나 보안 위험이 발생할 수 있습니다 ... 기술적으로 해커가 현재 모든 사용자의 자격 증명을 얻을 수 있습니다. – cjds

+0

안전하지 않은 세션이 있습니까? 해커가 액세스 할 수 있습니까? – Alvaro

+2

@Steve 나를 기억한다면 토큰은 쿠키 안에 저장되고 위협 모델은 세션 쿠키와 동일합니다. 그러나! 세션은 서버 측에서 메모리를 보유하고 공격자에게 컨텍스트를 제공하며 좋지 않습니다. 나를 기억하는 토큰은 재 인증 (더 많은 보안을 위해 토큰 값을 변경할 수 있음)을 적용하고 사용자의 재 인증을 추적 할 수 있습니다. 그리고 나는 2 주 동안 사용자 세션을 저장하는 것이 가장 좋은 앱 구성 결정이 아니라고 생각합니다 :) 공격자가 서버를 매우 쉽게 공격 할 수 있습니다. :) – fatfredyy

답변

0

쿠키 대 세션 세션에 대한

총 :

  1. 세션을 쉽게 구성 할 수 있습니다.
  2. 제한된 수의 극도의 신뢰할 수있는 사용자에 대해 세션이 잘 작동합니다.
  3. 쿠키 및 세션에 동일한 위협 모델이 있습니다. 해커가 쿠키를 해독 할 수 있다면 그는 세션을

CONS

  1. 서버가 공격하는 경우, 공격자가 컨텍스트를 얻는 암호를 해독 할 수 있습니다. 즉 데이터를 해독 할 수있는 토큰의 전체 묶음

세션은 서버 측에서 메모리를 보유합니다. 또한 브라우저가 닫힐 때 세션 쿠키가 만료됩니다. 이것은 (당신이 정말로 열심히 노력한다면) 재구성 될 수 있습니다. 근본적으로 약간 새로운 아바타에서 쿠키를 다시 만드는 것입니다.

전체적으로 쿠키 VS 쿠키는 의심의 여지없이 쿠키를 "기억합니다".

1

쿠키.

클라이언트에 일부 상태를 저장해야합니다. "나를 기억하십시오"라는 생각은 세션이없는 동일한 사이트로 돌아 오는 것이 유효한 세션이 설정되지 않은 상태에서 다시 로그인 할 수 있다는 것입니다.

쿠키를 사용하면 상태를 저장할 수 있습니다. 그것을 할 수있는 다른 방법이있을 수 있지만, 확실히 세션이 아닙니다.

관련 문제