질문게시판

워드프레스 그누보드 연동, 로그아웃 문제.

로그인까지는 성공 했습니다.
하지만, 워드프레스에서 로그아웃을 하자,
그누보드는 그대로 로그인이 살아 있었습니다.
 
무엇이 잘못 되었을까요?
--------------------------------------------------------------------------------
워드프레스
<? /********************************************************
* WordPress SSO(Single Site On) Helper Object
* by Oh Kilho (http://www.kilho.net)
*******************************************************/

include 'wp-load.php';

// $wp_cookie = $_COOKIE['wordpress_logged_in_'.md5(get_site_option('siteurl'))];
// $wp_cookie = $_COOKIE['wordpress_logged_in_'.md5('')];
$wp_user = $_POST['user'];
$wp_pass = $_POST['pass'];

if($wp_user&&$wp_pass)
{
if(user_pass_ok($wp_user, $wp_pass))
$user = get_user_by('login', $wp_user);

}else{
if($wp_cookie)
{

wp_set_current_user(wp_validate_auth_cookie($wp_cookie, 'logged_in'));
$user = wp_get_current_user();
}

}

if($user)
{
echo '<id>'.$user->user_login.'</id>';
echo '<nick>'.$user->display_name.'</nick>';
echo '<email>'.$user->user_email.'</email>';
echo '<url>'.$user->user_url.'</url>';
}
?>
 
그누보드 ------------------------------------------------------------------------
<?
 /*
 그누보드 확장 모듈 : 워드프레스 SSO 처리
 */$wp_server_domain = 'alex.webzero.kr';//'워드프레스 설치된 도메인'; // xxx.com
 $wp_server_addr = 'alex.webzero.kr';//'110.45.139.52';//'워드프레스 설치된 서버 IP'; // xxx.xxx.xxx.xxx
 $wp_server_path = '/whome/alex/alex.webzero.kr/wp2/';//'워드프레스 설치된 경로'; // 루트일 땐 '/' 로 작성
 
 $wp_cookie_name = 'wordpress_logged_in_'.md5('http://'.$wp_server_domain);
 $wp_cookie_value = $_COOKIE[$wp_cookie_name];
 
 if ($_SESSION['ss_mb_id'])
 {
  // 총 관리자인 경우 열외 - 그누보드를 자체적으로 살펴볼 권한을 줘야야징
  if(!$wp_cookie_value&&$is_admin != 'super')
  {
   // 이호경님 제안 코드
    session_unset(); // 모든 세션변수를 언레지스터 시켜줌
    session_destroy(); // 세션해제함
    
    // 페이지를 재실행
    
    echo "<script type='text/javascript'> window.location.reload(); </script>";
    exit;
   }
  }else{
   if($wp_cookie_value)
   {
    // 메인 서버에서 정보 취득
    $fp = fsockopen($wp_server_addr,80,$errno,$errstr,3);
    
    if($fp)
    {
     fputs($fp, "GET {$wp_server_path}wp-sso.php HTTP/1.1\r\n");
     fputs($fp, "Accept: */*\r\n");
     fputs($fp, "Accept-Language: ko\r\n");
     fputs($fp, "User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1)\r\n");
     fputs($fp, "Host: $wp_server_domain\r\n");
     fputs($fp, "Connection: Close\r\n");
     fputs($fp, "Cookie: $wp_cookie_name=$wp_cookie_value\r\n");
     fputs($fp, "\r\n");
     
     $data = '';
     
     while(!feof($fp))
     {
      $data .= fgets($fp,1024);
     }
     
     fclose($fp);
     
     if($data)
     {
      foreach(array('id', 'nick', 'email', 'url', 'password') as $value)
      {
       preg_match('@<'.$value.'>(.*?)</'.$value.'>@',$data,$matches);
       $wp_user[$value] = $matches[1];
      }
      $wp_user[pass] = substr(str_shuffle('abcefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'), 0, 12);
      $sql = " select mb_id from $g4[member_table] where mb_id='$wp_user[id]' ";
      $row = sql_fetch($sql);
      if($row[mb_id]!=$wp_user[id])
      {
        $sql = " insert into $g4[member_table]
             set mb_id = '$wp_user[id]',mb_password = password('$wp_user[pass]'),
               mb_name = '$wp_user[nick]',
               mb_nick = '$wp_user[nick]',
               mb_email = '$wp_user[email]',
               mb_homepage = '$wp_user[url]',
               mb_datetime = '$g4[time_ymdhis]',
               mb_ip = '$_SERVER[REMOTE_ADDR]',
               mb_level = '$config[cf_register_level]' ";
        sql_query($sql);
      }else{
        $sql = " update $g4[member_table]
                set mb_nick = '$wp_user[nick]',
                mb_email = '$wp_user[email]',
                mb_homepage = '$wp_user[url]'
               where mb_id = '$wp_user[id]' ";
           sql_query($sql);
      }
      unset($row);
      
      $mb = get_member($wp_user[id]);
      
      // 회원아이디 세션 생성
      set_session('ss_mb_id', $mb[mb_id]);
      // FLASH XSS 공격에 대응하기 위하여 회원의 고유키를 생성해 놓는다. 관리자에서 검사함 - 110106
      set_session('ss_mb_key', md5($mb[mb_datetime] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']));
      
      // 페이지를 재실행
      echo "<script type='text/javascript'> window.location.reload(); </script>";
      exit;
     }
    }else{
     echo 'Connection failed';
     exit;
    }
   }
  }
 
 
 
 ?>
 
 
 
    • 최고관리자로 로그인 하였을 경우, 그누보드 자체 어드민 접근 등을 위해 로그아웃 시키지 않겠금 되어 있습니다.
      13 라인을 참고해주세요.

      그외 일반 회원인 경우 워드프레스 로그아웃 시 그누보드 접근할 경우 로그아웃 됩니다.
    • 12-10-27

로그인 후 댓글내용을 입력해주세요

번호 제목 글쓴이 조회 날짜
3642 특정 사이트 접속불가... 478 04-19
3641 시크릿DNS 다운그레이드 되었나요? 3 615 04-19
3640 사생활 관련 2 6 04-17
3639 사생활 침해 게시물 게시 중단 요청 드립니다. 1 3 04-17
3638 칼무리 연속캡쳐 기능 만들어주실수잇나여 1 5,639 04-13
3637 시크릿dns skt 와이파이 사용시 우회불가ㅜ 3 10,069 04-07
3636 KT) 시크릿DNS 관련 4 5 03-31
3635 시크릿 DNS 설치 파일 설치시 1 15,686 03-29
3634 칼무리 소리 녹음 관련 문의드립니다. 2 15,053 03-28
3633 칼무리 실행시마다 캡쳐영역 모드 지정 안보이게 1 15,531 03-27
3632 칼무리 실행 1 4 03-25
3631 캡쳐한 사진의 색상이 너무 이상합니다 1 11,719 03-21
3630 윈도우 클리너 자동실행 설정 후 윈도우 디펜더 트레이 아이콘 7 8,111 03-20
3629 DNS 인터넷 문제(2) 1 7,633 03-19
3628 트레이 아이콘 질문 1 7,406 03-18
3627 시크릿DNS에서 절전모드로 장시간 있을시 네트워크 오류가 생깁니다. 4 7,203 03-18
3626 sni 관련 2 3 03-16
3625 dns 인터넷 문제 1 7,042 03-15
3624 (윈도우11) 윈도우클리너를 쓰면 하단에 검색기능이 먹통이 돼요 5 12,211 03-08
3623 연속으로 화면캡처가 안되는데 해결방안을 알려주십시요 1 11,769 03-07
3622 길호넷에서 일하려면 어떻게 해야하나요? 1 3 03-06
3621 Kyber 비활성화 사용 안 함 ini 파일 옵션 문의 2 15,125 03-03
3620 프로그램 제작 문의 2 15,208 03-02
3619 문의남깁니다 1 17,685 02-26
3618 보안 캡챠? 시크릿DNS로 해결이 어려운걸까요? 1 16,653 02-24
3617 문의 남깁니다 1 20,986 02-18
3616 시스템 트레이 아이콘이 계속 남는 문제 여쭤봅니다 2 3 02-17
3615 시크릿dns를 카스퍼스키에서 바이러스로 인식합니다 1 22,158 02-15
3614 길호님 칼무리 최대녹화시간 조금만 늘려주세요 ㅠㅠ 1 22,899 02-13
3613 칼무리 2 4 02-10
3612 시크릿DNS 3.6.2 설치 관련 2 30,005 02-01