로그온 유지방법 좀 알려주세요! 정보
로그온 유지방법 좀 알려주세요!본문
안녕하십니까?
현재 자체 리눅스 서버에 그누보드를 설치하고 홈페이지를 개설하였습니다.
(서버가 아직은 외부에 공개안된 상태입니다.)
게시판에 게시물을 등록하고, 그 URL을 복사하여, 한글 문서에 붙여 넣어 링크를 만들었습니다.
(게시물 읽기 권한은 회원만 읽을 수 있도록 변경하였습니다.)
아무튼 이렇게해서 한글문서의 링크를 클릭시 자동으로 해당 게시물의 내용을 보여주면되는데...
링크 실행 컴퓨터에서 생성한 홈페이지에 로그인이 안된상태라면, 로그인하라는 부분이 나타나는 것이 정상이지만,
컴퓨터상의 다른창에는 이미 해당홈페이지가 로그인이 된 상태에서도, 링크 클릭 시 새로운 창이 열리면서
로그인이 안되었다고 뜨네요... 수정방법이 없겠는지요?
1000 포인트 설정합니다.
댓글 전체

크... 어렵겠네요.. 그누보드는 일단 로그인시 세션변수를 사용하는데요. 그 세션변수는 같은창 (브라우져) 안에서만 유효하기때문에 새창으로 열린 창에서는 그 변수를 읽지 못합니다. html 에서 링크가 걸린거라면 변수를 어떻게든 넘겨보겠는데, 또 한글에서 외부링크라-_-;; 그럴경우 방법은 쿠키를 적용하면 되겠죠. 로그인시 생성된 변수를 쿠키로 구워놓으면 간단해집니다. 그러면 그 쿠키가 expire 되기전까지는 어느방식으로 접근하든지 로그인 상태로 유지되겠죠!
앵무나라님! 답변 감사드립니다^^*
그런데.... 쿠키로 구워 놓는 방법이라면....
혹시~ 클라이언트에서 지정해야하는 방법을 말씀하시는지요?
그것이 아니라면... 상세설명 부탁드려도 될까요?
그런데.... 쿠키로 구워 놓는 방법이라면....
혹시~ 클라이언트에서 지정해야하는 방법을 말씀하시는지요?
그것이 아니라면... 상세설명 부탁드려도 될까요?
그누보드에서 로그인에 대한 쿠키를 굽는 때가 로그인시 자동로그인을 체크했을때인데요..
단지 그 용도로 사용하실꺼라면 회원동의 없이 무조건 쿠키를 굽거나..아니면 따로 로그인스킨의 복사본을 만들어서 설명해주거나 하는식으로..^^; 암튼..
skin/member/스킨폴더/login.skin.php 에서 자동로그인 체크하는 표를 없애시고
<input type="checkbox" name="auto_login" value="1" onclick="if (this.checked) { if (confirm('자동로그인을 사용하시면...
이게 포함된 테이블태그입니다.
bbs/login_check.php 에서 쿠키를 굽는 부분
// 아이디 쿠키에 한달간 저장
if ($auto_login) {
// 3.27
// 자동로그인 ---------------------------
// 쿠키 한달간 저장
$key = md5($_SERVER[SERVER_ADDR] . $_SERVER[REMOTE_ADDR] . $_SERVER[HTTP_USER_AGENT] . $mb[mb_password]);
set_cookie('ck_mb_id', $mb[mb_id], 86400 * 31);
set_cookie('ck_auto', $key, 86400 * 31);
// 자동로그인 end ---------------------------
} else {
set_cookie('ck_mb_id', '', 0);
set_cookie('ck_auto', '', 0);
}
여기에서
$key = md5($_SERVER[SERVER_ADDR] . $_SERVER[REMOTE_ADDR] . $_SERVER[HTTP_USER_AGENT] . $mb[mb_password]);
set_cookie('ck_mb_id', $mb[mb_id], 86400 * 31);
set_cookie('ck_auto', $key, 86400 * 31);
이것만 남기고 주석처리하시거나 하시면 됩니다. 불러질 페이지 상단에는 반드시 common.php 가 인클루드되어야합니다. 쿠키를 common.php 에서 검사합니다.
단지 그 용도로 사용하실꺼라면 회원동의 없이 무조건 쿠키를 굽거나..아니면 따로 로그인스킨의 복사본을 만들어서 설명해주거나 하는식으로..^^; 암튼..
skin/member/스킨폴더/login.skin.php 에서 자동로그인 체크하는 표를 없애시고
<input type="checkbox" name="auto_login" value="1" onclick="if (this.checked) { if (confirm('자동로그인을 사용하시면...
이게 포함된 테이블태그입니다.
bbs/login_check.php 에서 쿠키를 굽는 부분
// 아이디 쿠키에 한달간 저장
if ($auto_login) {
// 3.27
// 자동로그인 ---------------------------
// 쿠키 한달간 저장
$key = md5($_SERVER[SERVER_ADDR] . $_SERVER[REMOTE_ADDR] . $_SERVER[HTTP_USER_AGENT] . $mb[mb_password]);
set_cookie('ck_mb_id', $mb[mb_id], 86400 * 31);
set_cookie('ck_auto', $key, 86400 * 31);
// 자동로그인 end ---------------------------
} else {
set_cookie('ck_mb_id', '', 0);
set_cookie('ck_auto', '', 0);
}
여기에서
$key = md5($_SERVER[SERVER_ADDR] . $_SERVER[REMOTE_ADDR] . $_SERVER[HTTP_USER_AGENT] . $mb[mb_password]);
set_cookie('ck_mb_id', $mb[mb_id], 86400 * 31);
set_cookie('ck_auto', $key, 86400 * 31);
이것만 남기고 주석처리하시거나 하시면 됩니다. 불러질 페이지 상단에는 반드시 common.php 가 인클루드되어야합니다. 쿠키를 common.php 에서 검사합니다.
답변감사드립니다!
많은 도움이 되었습니다. ㅎ
그나저나 GoaLin 답변을채택해야할 듯 합니다.
앵무나라님 죄송해요. 그리고 너무 감사합니다!
많은 도움이 되었습니다. ㅎ
그나저나 GoaLin 답변을채택해야할 듯 합니다.
앵무나라님 죄송해요. 그리고 너무 감사합니다!