답변 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);
}
}
}
}
}
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
여러 방법이 있겠지만 제일 간단한건
로그인 시 기존 세션을 날려버리는 게 제일 심플하고 편합니다.
A 사용자가 AAAA 아이디로 로그인 후
B 사용자가 다른 컴이든 지역이든 AAAA 아이디로 재 로그인하면
A 사용자의 세션이 삭제되고 B 사용자의 세션으로 기록되기 때문에
A 사용자가 페이지 이동시 로그아웃 처리가 됩니다.
즉, 마지막 로그인한 사용자만 유효한 것이죠.
이런 방식으로 처리하시는게 좋을듯합니다.
답변에 대한 댓글 2개
두 곳에서 경쟁적으로 로그인 시도가 계속되면 문제가 될 수 있지 않을까요?
로그인 시 최소 10분? 정도는
다른 곳에서 로그인을 차단해 주는 방법도 좋을 듯합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
적용해서 써봤는데요. 작동이 잘 됩니다.
욕심을 내자면 질문의 본문 내용처럼 A로그인중 B가 로그인 할경우
A는 로그아웃 되고 B는 로그인이 되었으면 하는데
위 코드로는 둘다 로그아웃 되버리네요.