그누보드 [G4] 브라우져 닫을때까지 로그인 유지하기
페이지 정보
본문
아이리프님께서 SIR.co.kr 활용팁에 올리신 내용입니다.
안녕하세요~ 아이리프 입니다~
이 팁이 중복일지 모르겠지만, 로그인 관련해서 세션이니 뭐니 지속적으로 연결하고 싶은데 잘 안되시는 분들이 많은걸로 압니다. 저 또한 그문제로 새벽까지 보고 있었는데 의외로 간단하게 해결했습니다.
저는 쿠키를 이용해서 했는데요, 자동로그인의 쿠키를 활용 했습니다.
수정해야할 파일은 bbs/login_check.php 입니다.
50번 줄 쯤에
를 찾으시고 아래 처럼 바꿔주세요.
동 작원리는 보시는데로, 로그인 할시에 자동로그인 쿠키에 만기시간을 0 을 주어서 브라우져가 꺼지면 쿠키가 삭제되게 되있습니다. 즉 브라우져를 계속 몇시간동안 켜놔도 자동 로그인을 한것처럼 로그인이 풀리지 않지만, 브라우져를 끄면 쿠키가 삭제 됨으로 로그아웃 되는 방식 입니다.
여기서 만약에, 로그인 유지시간을 설정 하고 싶으시면 아래처럼 하시면 됩니다.
위 예제는 만기 시간을 0 에서 $g4[server_time] + ( 3600 * 3 ) 로 바꾸어 3시간 이후에 로그아웃 되게 만들었습니다. 물론 세션 만기 시간보다 적게 설정하면 정상적으로 동작하지 않을것 같습니다.
완벽하게 테스트는 못해봤구요. 팁에 문제가 있으면 알려주세요 ^^
감사합니다.
출처 : 아이리프 ( http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=12950 )
안녕하세요~ 아이리프 입니다~
이 팁이 중복일지 모르겠지만, 로그인 관련해서 세션이니 뭐니 지속적으로 연결하고 싶은데 잘 안되시는 분들이 많은걸로 압니다. 저 또한 그문제로 새벽까지 보고 있었는데 의외로 간단하게 해결했습니다.
저는 쿠키를 이용해서 했는데요, 자동로그인의 쿠키를 활용 했습니다.
수정해야할 파일은 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시간 이후에 로그아웃 되게 만들었습니다. 물론 세션 만기 시간보다 적게 설정하면 정상적으로 동작하지 않을것 같습니다.
완벽하게 테스트는 못해봤구요. 팁에 문제가 있으면 알려주세요 ^^
감사합니다.
출처 : 아이리프 ( http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=12950 )
댓글목록
등록된 댓글이 없습니다.