그누보드간에 회원연동

동일서버 여러게 그누보드 설치시....
다른서버에 각기 다른 그누보드 설치시

...(DB 로그인 정보는 공유해야함 ) 

1. bbs/login_check.php   36줄 쯤에
------------------------------------
// 회원아이디 세션 생성
set_session('ss_mb_id', $mb[mb_id]);

/*******************************************************/

   $sess_key    = session_id();
      $sess_expiry = time();
      $sess_value  = $_SESSION['ss_mb_id'];

      //db에 섹션저장
      $qqqsql = " insert into sessions
                set session_key = '$sess_key',
                    session_expiry = '$sess_expiry',
                    session_value = '$sess_value'
     ";
      $qq_result  = sql_query($qqqsql);

/*****************************************************/

2. bbs/logout.php   첫번째줄 쯤에

  // DB 섹션값 삭제
 $sess_key    = session_id();
 sql_query("DELETE FROM sessions WHERE session_key = '$sess_key' ");

 

 // 오래 있는 사용자 로그아웃시킴 ^^ ;;
 $sess_expiry = time() - 60*60*12;
 sql_query("DELETE FROM sessions WHERE session_expiry <= '$sess_expiry'  ");



3. 사이트 동일하게 아래 코드적용.
------------------------------------

/***************************************************/
    $sess_key    = session_id();
    $sess_w      = sql_fetch("select * from sessions where session_key = '$sess_key'");

 if($sess_w[session_key]){ // 회원아이디 세션 생성
     set_session('ss_mb_id', $sess_w[session_value]); 
  }
 else{ //정보가 없다면 로그아웃한다
        // 이호경님 제안 코드
       session_unset(); // 모든 세션변수를 언레지스터 시켜줌
       session_destroy(); // 세션해제함

  }
/***************************************************/


4. 특정 공유테이블에 아래 테이블 ( 섹센공유 참조 phpschool  ???)

/****************************************************/

--
-- 테이블 구조 `sessions`
--

CREATE TABLE `sessions` (
  `session_key` char(32) NOT NULL,
  `session_expiry` int(11) unsigned NOT NULL,
  `session_value` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- 테이블의 덤프 데이터 `sessions`
--

/****************************************************/

1일 20만 까지는 문제 없는듯 ;;



섹션을 DB에 저장해서 로그인 인증을 하는 방식입니다.

보안은 알아서 하세요.

|

댓글 11개

추천합니다.!!!!
체크체크~ 좋은정보 감사합니다 뮤존님 ^^;;
제로와 그누를 같이 사용은 어렵나요?
그누보드 세션을 db로 하게 수정해주세욤~!!! php 스쿨에 가면 팁들이 이써욤~!!! ㅋㅋ
음....어렵네요..ㅠㅜ...
다른 사이트간 DB세션 공유
감사합니다.
이거 성공하신분...3번4번 설명좀 해주세요..어디다 적으라는건지 모르겠네요.
이거 어떻게 하는건지 아시는분.... ??? 1,2번은 이해가 가는데 3번은 도대체 어디에 어디다 하라는 건지 ???

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기
🐛 버그신고