2011-01-11 5 views
1

사용자 테이블이있는 PHP 및 MySQL 웹 응용 프로그램이 있는데 각 사용자 이름과 암호 조합으로 한 명의 사용자 만 시스템에 로그인했는지 확인하고 싶습니다. 내가 그들의 세션을 처리하는 가장 좋은 방법에 대한 포인터를 찾고 있어요PHP 세션 처리

,

1) 세션 키는 DB
2) 마지막을 넣어에서 사용자 이름 옆에 사용 된 마지막 시간을 저장 쿠키에 날짜가 기록되었습니다.
3) session_name()? 사전

+0

한 명의 사용자 만 존재하거나 여러 명의 사용자가있어 하나만 기록하도록 하시겠습니까? – Shoe

+0

@Charlie 여러 명의 사용자 계정이 있지만 한 번에 각 계정을 사용하여 한 명의 실제 사용자 만 로그인 할 수 있습니다. –

답변

4

에서

덕분에 세션 ID와 함께 외부 키로 사용자 ID로 새 테이블을 만듭니다. 새 사용자가 로그인 할 때 ID가 이미 테이블에 있는지 확인하십시오. 사용자가 로그 아웃 할 때 새 테이블에서 레코드 삭제를 제거했는지 확인하십시오.

+1

감사합니다. 몇 시간 후에 원래 세션 ID가 무시 될 수 있도록 시간이 포함됩니다. –

+1

좋은 추가 +1. 시간 입력란을 로그인했을 때보 다 마지막 활동으로 설정하여 오랫동안 사이트에 머물러있는 사람을 잃지 않도록 할 수 있습니다. –

+0

이전 ID 및 트랜잭션 ID 삽입 확인을 처리하고 ID를 확인하기 전에이 테이블에 LOCK을 추가하거나 다른 응용 프로그램/데이터베이스 수준 세마포를 사용하는 것을 잊지 마십시오. – regilero