질문게시판

워프로그인후 그누보드 글쓰기가 안됩니다...

되는 줄 알았는데, 안되네요..
 
http://parannews.co.kr/f10/gnuboard4/extend/wp-sso.php  파일의 $wp_cookie_value 변수가 출력이 되지 않습니다.
 
$wp_cookie_value 변수가 출력되면 글쓰기도 될것 같은데, 도와주세요~~
 
워드프레스 : http://parannews.co.kr/f10/
 
 
워드프레스 상단메뉴중 자유게시판이 그누보드이구요, 워드프레스 로그인정보는
 
아이디 : nicole,  패스워드 : 123456
 
입니다.
    • gnuboard4/extend/wp-sso.php  소스를 올려주세요.
    • 12-07-01
    • gnuboard4/extend/wp-sso.php 의 내용은 아래와 같습니다.

      <?
      $wp_server_domain = 'parannews.co.kr';
      $wp_server_addr = '112.175.184.45';
      $wp_server_path = '/f10/';

      $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;
              }
       
          }
      }
      ?>
    • 12-07-02
      • 혹시 워드프레스 관리자 페이지에서 "설정-일반" 에서 워드프레스 주소를 어떻게 입력하셨는지요?
        $wp_server_domain 에 입력하신 것과 같은지 확인 부탁드립니다.
        www 와 같이 있따면, $wp_server_domain 에도 똑같이 www. 를 추가해주세요
      • 12-07-02
    • 감사합니다.

      워드프레스 주소는 http://parannews.co.kr/f10 로 설정되어 있습니다.
      $wp_server_domain 와 같도록 (http://parannews.co.kr ) 맞춰주니 말씀대로 그누보드페이지에서 글쓰기버튼이 보입니다.
      그런데, 워드프레스 주소를 바꾸면 페이지가 제대로 뜨지 않습니다(원래주소는 http://parannews.co.kr/f10 이므로)

      혹시 해결할 방법이 있는지요?
    • 12-07-02
    • $wp_cookie_name = 'wordpress_logged_in_'.md5('http://'.$wp_server_domain);

      위의 문장을 아래와 같이 바꿔주십시오.
      워드프레스에서 생성된 쿠키정보에 해당 주소를 이름으로 사용하고 있어서 발생한 문제입니다.

      $wp_cookie_name = 'wordpress_logged_in_'.md5('http://parannews.co.kr/f10');
    • 12-07-03
    • 알려주신대로 하니 글쓰기됩니다.
      많이 귀찮게 해드렸는데, 친절한 답변 너무 감사드립니다.
      꾸~벅!!
    • 12-07-04