브라우져 닫을때까지 로그인 유지하기 정보
브라우져 닫을때까지 로그인 유지하기본문
안녕하세요~ 아이리프 입니다~
이 팁이 중복일지 모르겠지만, 로그인 관련해서 세션이니 뭐니 지속적으로 연결하고 싶은데 잘 안되시는 분들이 많은걸로 압니다. 저 또한 그문제로 새벽까지 보고 있었는데 의외로 간단하게 해결했습니다.
저는 쿠키를 이용해서 했는데요, 자동로그인의 쿠키를 활용 했습니다.
수정해야할 파일은 bbs/login_check.php 입니다.
50번 줄 쯤에
를 찾으시고 아래 처럼 바꿔주세요.
동작원리는 보시는데로, 로그인 할시에 자동로그인 쿠키에 만기시간을 0 을 주어서 브라우져가 꺼지면 쿠키가 삭제되게 되있습니다. 즉 브라우져를 계속 몇시간동안 켜놔도 자동 로그인을 한것처럼 로그인이 풀리지 않지만, 브라우져를 끄면 쿠키가 삭제 됨으로 로그아웃 되는 방식 입니다.
여기서 만약에, 로그인 유지시간을 설정 하고 싶으시면 아래처럼 하시면 됩니다.
위 예제는 만기 시간을 0 에서 $g4[server_time] + ( 3600 * 3 ) 로 바꾸어 3시간 이후에 로그아웃 되게 만들었습니다. 물론 세션 만기 시간보다 적게 설정하면 정상적으로 동작하지 않을것 같습니다.
완벽하게 테스트는 못해봤구요. 팁에 문제가 있으면 알려주세요 ^^
감사합니다.
이 팁이 중복일지 모르겠지만, 로그인 관련해서 세션이니 뭐니 지속적으로 연결하고 싶은데 잘 안되시는 분들이 많은걸로 압니다. 저 또한 그문제로 새벽까지 보고 있었는데 의외로 간단하게 해결했습니다.
저는 쿠키를 이용해서 했는데요, 자동로그인의 쿠키를 활용 했습니다.
수정해야할 파일은 bbs/login_check.php 입니다.
50번 줄 쯤에
set_cookie('ck_mb_id', '',0);
set_cookie('ck_auto', '',0);
set_cookie('ck_auto', '',0);
를 찾으시고 아래 처럼 바꿔주세요.
$key = md5($_SERVER[SERVER_ADDR] . $_SERVER[REMOTE_ADDR] . $_SERVER[HTTP_USER_AGENT] . $mb[mb_password]);
setcookie(md5('ck_mb_id'), base64_encode($mb[mb_id]), 0, '/', $g4[cookie_domain]);
setcookie(md5('ck_auto'), base64_encode($key), 0, '/', $g4[cookie_domain]);
setcookie(md5('ck_mb_id'), base64_encode($mb[mb_id]), 0, '/', $g4[cookie_domain]);
setcookie(md5('ck_auto'), base64_encode($key), 0, '/', $g4[cookie_domain]);
동작원리는 보시는데로, 로그인 할시에 자동로그인 쿠키에 만기시간을 0 을 주어서 브라우져가 꺼지면 쿠키가 삭제되게 되있습니다. 즉 브라우져를 계속 몇시간동안 켜놔도 자동 로그인을 한것처럼 로그인이 풀리지 않지만, 브라우져를 끄면 쿠키가 삭제 됨으로 로그아웃 되는 방식 입니다.
여기서 만약에, 로그인 유지시간을 설정 하고 싶으시면 아래처럼 하시면 됩니다.
setcookie(md5('ck_mb_id'), base64_encode($mb[mb_id]), $g4[server_time] + ( 3600 * 3 ) , '/', $g4[cookie_domain]);
setcookie(md5('ck_auto'), base64_encode($key), $g4[server_time] + ( 3600 * 3 ) , '/', $g4[cookie_domain]);
setcookie(md5('ck_auto'), base64_encode($key), $g4[server_time] + ( 3600 * 3 ) , '/', $g4[cookie_domain]);
위 예제는 만기 시간을 0 에서 $g4[server_time] + ( 3600 * 3 ) 로 바꾸어 3시간 이후에 로그아웃 되게 만들었습니다. 물론 세션 만기 시간보다 적게 설정하면 정상적으로 동작하지 않을것 같습니다.
완벽하게 테스트는 못해봤구요. 팁에 문제가 있으면 알려주세요 ^^
감사합니다.
추가 - 최고관리자도 이 팁이 적용될려면 common.php 를 아래 처럼 고쳐줘야 합니다.
// 최고관리자는 자동로그인 금지
if ($tmp_mb_id != $config['cf_admin'])
{
부분을 찾아서 위 두줄만 주석을 치시고 끝나는 } 도 주석을 쳐주시면 됩니다~
// 최고관리자는 자동로그인 금지
if ($tmp_mb_id != $config['cf_admin'])
{
부분을 찾아서 위 두줄만 주석을 치시고 끝나는 } 도 주석을 쳐주시면 됩니다~
추천
3
3
댓글 18개
일단 적용해 보았습니다...
잘 되었으면 좋겠네요.. ^^
잘 되었으면 좋겠네요.. ^^

추천
초보라서 그러는데요 만약에 30분있다가 자동으로 로그아웃이 되게 하려면 숫자를 어떻게 변경해야하나요?
$g4[server_time] + ( 3600 * 3 ) 대신에 $g4[server_time] + ( 초 ) 를 넣어주시면 됩니다.
30분 이라면 30*60 이니까 1800 이라고 쓰면 되겠네요 ^^
30분 이라면 30*60 이니까 1800 이라고 쓰면 되겠네요 ^^
잘되었으면 좋겠군요+_+
좋네요 ~
한번 적용해 보겠습니다
..

수고하셧씁니다.
적용해 보겠습니다. 감사합니다.
적용해 봐야겠네염....좋은팁 감사합니다.
감사합니다.
30 초는 적용이 않되나요...ㅠㅠㅠ
setcookie(md5('ck_mb_id'), base64_encode($mb[mb_id]), $g4[server_time] + 30 , '/', $g4[cookie_domain]);
setcookie(md5('ck_auto'), base64_encode($key), $g4[server_time] + 30 , '/', $g4[cookie_domain]);
으로 적용을 해보았으나 로그아웃이 자동으로 되질 않습니다..ㅠㅠ
setcookie(md5('ck_mb_id'), base64_encode($mb[mb_id]), $g4[server_time] + 30 , '/', $g4[cookie_domain]);
setcookie(md5('ck_auto'), base64_encode($key), $g4[server_time] + 30 , '/', $g4[cookie_domain]);
으로 적용을 해보았으나 로그아웃이 자동으로 되질 않습니다..ㅠㅠ
찾던 정보네요. 감사히 보겠습니다.^^
로그인 유지 방지(일정시간 후 로그아웃)

로그인 유지 방지
완전 초보입니다. 많은 도움 얻습니다^^
와 이거 대박팁입니다.
팝업 닫으면 로그인 끊어져서 너무 힘들었는데 너무 잘됩니다~~!!
팝업 닫으면 로그인 끊어져서 너무 힘들었는데 너무 잘됩니다~~!!