2012-06-17 4 views
0

사용자가 브라우저를 닫은 후에도 사용자가 로그 아웃 할 때까지 세션을 유지하는 방법이 필요합니다. 데이터베이스에 세션을 저장하지 않고 .사용자가 브라우저를 닫은 후에도 세션을 연장하는 방법은 무엇입니까?

가장 좋은 방법은 무엇입니까?

사용자 이름 + 비밀번호 (해시)를 쿠키에 저장할 수 있습니까?

+1

왜? ----------- –

+0

나는 그가 사용자가 로깅 상태를 유지할 수있는 방법이 필요하다는 것을 의미한다고 확신합니다. 대부분의 사이트는 coockies 설정의 기반에서 자동 로그인을 허용합니다. 내 로그인을 입력하고 내가 방문하는 각 포럼을 통과해야하는 경우 나는 화가났다. – DaneSoul

답변

1

만료 시간이 길면 쿠키를 저장하십시오 (예 : 1 개월 정도). 비교할 수 있도록 암호 해시 일 필요는 없습니다. 비교해볼 때 사용자 측뿐만 아니라 DB에도 저장됩니다.

1

사용자가 로그인 할 때 임의의 토큰을 생성하고 1) 데이터베이스에 저장하고 2) 사용자 이름과이 임의의 토큰을 사용하여 쿠키를 설정해야합니다.

그런 다음이 쿠키를 사용하고 토큰을 DB의 토큰과 일치시키는 함수를 만들어야합니다. 토큰이 동일한 경우 세션을 시작하고 새 토큰을 생성해야합니다.

암호가 아닌 임의의 토큰을 사용하십시오. 그렇지 않으면 항상 동일합니다.

"로그인 한 사용자입니까?"함수는 세션이 열려 있는지 먼저 확인해야하며, 그렇지 않으면 사용자가 방문하는 모든 페이지에 대해이 프로세스가 반복됩니다.

관련 문제