it-gundan.com

쿠키를 안전하게 사용하여 사용자를 인증하는 방법은 무엇입니까?

대부분의 경우 쿠키를 사용하여 사용자를 내 웹 사이트로 돌아 오는 것을 기억합니다.

어릴 적 어리석은 쿠키에 UserID (자동 증가 정수)를 저장하고 사용자가 반환하면 쿠키 값을 사용하여 자동으로 로그인합니다. 누군가 다른 쿠키를 사용하기 위해 쿠키를 쉽게 편집하고 다른 사람으로 로그인 할 수 있기 때문에 이것은 나쁜 생각이었습니다.

UserID가 GUID 인 경우 이와 동일한 방식으로 UserID를 저장해도됩니까?

"기억하십시오"쿠키 저장에 대한 모범 사례는 무엇입니까?

7
jessegavin

이런 종류의 시나리오를 처리하려면 sessions 사용을 고려해야합니다.

세션은 일반적으로 사용자의 인증을 위해 고유 한 GUID를 생성하고이를 사용자의 로컬 시스템의 쿠키에 저장하거나 URL을 통해 페이지에서 페이지로 전달하여 작동합니다.

이 세션 GUID은 (는) 사용자 쿠키/URL의 GUID을 (를) 연결하여 소스 코드로 읽고 쓸 수있는 서버의 파일 또는 데이터베이스 항목을 가리 킵니다. 데이터를 보유한 파일 또는 데이터베이스 항목의 GUID.

세션 GUID를 제외한 최종 사용자에게는 아무것도 보이지 않으므로 세션에 더 민감한 데이터 (예 : 사용자 ID)를 넣는 것이 일반적으로 안전합니다.

대부분의 웹 기반 언어에는 일종의 세션 관리 기능이 내장되어 있습니다.

2
Nat Ryall

두 개의 쿠키를 저장하십시오 :

  • UserId : 사용자 ID를 포함합니다
  • Password : 사용자 비밀번호의 SHA1을 포함합니다

매우 쉽고 안전합니다. HttpOnly 특성 기억 .

1
Thomas Bonini