IP관계없이 ID 한개만 접속 (아이디 중복 방지)
본문
검색해봐도 잘 모르겠어서 질문드려봅니다.
IP 가 다르건 컴터가 다르건 상관없이
무조건 한개의 ID만 접속하게 하고 싶습니다.
검색으론 로그인시 디비와 세션에 ID+랜덤숫자 를 기록하고 비교하라는게
제가 하고싶은 의도와 맞는거 같은데 어떻게 구현해야 할지 막막하네요.
답변 4
$session_dir = G5_SESSION_PATH;
$d = dir($session_dir);
while (false != ($entry = $d->read())) {
$temp = file($session_dir . '/' . $entry);
if (preg_match("`ss_mb_id\|[^;]*\"" . $mb['mb_id'] . "\";`", $temp[0])) {
$d = dir($session_dir);
while (false !== ($entry = $d->read())) {
if (substr($entry, 0, 1) != '.' && $entry != 'index.php'){
$temp = file($session_dir . '/' . $entry);
if (preg_match("`ss_mb_id\|[^;]*\"" . $mb['mb_id'] . "\";`", $temp[0])) {
unlink($session_dir . '/' . $entry);
}
}
}
}
}
두 번째 id가 로그인 시
어떻게 하실 생각( 정책) 인가요?
여러 방법이 있겠지만 제일 간단한건
로그인 시 기존 세션을 날려버리는 게 제일 심플하고 편합니다.
A 사용자가 AAAA 아이디로 로그인 후
B 사용자가 다른 컴이든 지역이든 AAAA 아이디로 재 로그인하면
A 사용자의 세션이 삭제되고 B 사용자의 세션으로 기록되기 때문에
A 사용자가 페이지 이동시 로그아웃 처리가 됩니다.
즉, 마지막 로그인한 사용자만 유효한 것이죠.
이런 방식으로 처리하시는게 좋을듯합니다.
의뢰로 가시면 깔끔하게 해결 됩니다.