\"; 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.'>(.*?)@',$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 \"\"; exit; } }else{ echo 'Connection failed'; exit; } }}?>","comment":[{"@type":"Comment","author":{"@type":"Person","name":"cshop","url":"https://kilho.top/forum/bbs/new.php?mb_id=cshop"},"datePublished":"2012-06-26T02:01:44+09:00","text":"답변 감사! 합니다. 답변이 올라와 있다고 전진님이 알려주셔서 지금 봤습니다. 저는 주말에만 코딩을 조금씩 하는 관계로 다음 주말에 적용해 보도록 하겠습니다. 감사! 합니다."}]}]}

워드프레스와 그누보드 연동관련

워드프레스가 설치된 경로 문제와 설정하실 때 도메인만 적으시면 됩니다.
아래 소스를 붙여넣었으니, http://hackya.com/dtd/extend/wp-sso.php 에 넣어주세요

<?
/*
 그누보드 확장 모듈 : 워드프레스 SSO 처리
 */
$wp_server_domain = 'hackya.com'; // xxx.com
$wp_server_addr = '50.63.47.1'; // xxx.xxx.xxx.xxx
$wp_server_path = '/';
 
$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;
        }
 
    }
}
?>

评论

  1. 답변 감사! 합니다.

    답변이 올라와 있다고 전진님이 알려주셔서 지금 봤습니다.

    저는 주말에만 코딩을 조금씩 하는 관계로 다음 주말에 적용해 보도록 하겠습니다.

    감사! 합니다.

问答区

[시크릿DNS] SKT망 환경에서의 동작 확인 요청드립니다
답변글 Re: 시크릿DNS 다운로드 문의드립니다.
답변글 Re: 칼무리 관련으로 문의드립니다.
답변글 Re: SNI 보여주는 툴 아직인가요 ? :(
답변글 Re: 윈도우클리너 업데이트?
답변글 Re: 윈도우 10 출력 결과
답변글 kcleaner 오류..?
浏览 답변글 워드프레스와 그누보드 연동관련
답변글 웹페이지 형식으로 칼무리를 하고 싶은데 잘 되지 않네…
답변글 혹시 시디 열고닫는 프로그램도 있으시나요?
[공지] GChat 사용시 새로 다운로드 받아주시길 바랍니…
포트체크에 문제가 있으신분은 여기서 새로 받으세요.
답변글 문의 드립니다.
혹시 오해될 만한 소지가 있을까봐 글 적습니다 ^^
[팁] 손님 닉네임을 자신의 홈에 맞게 적용시키기(Gnu)
2005년 6월 7일 이전 구매하신 분은 읽어주십시오.
2005년 6월 21일 이전에 받으신 분은 다시 받으세요
테스트 해보고 싶은 분은 읽어보세요.
베타 테스터 분만 읽어주세요 ^^
이곳은 GChat 관련 게시판입니다.
현재까지 수정된 부분입니다.
GChat 베타 테스트 게시판입니다.
SP2 에서 길호챗이 되지 않을경우 - 업데이트했습니다.
SP2 에서 ActiveX 가 설치가 되지 않을경우..
답변글 돈날린거 같애요
길호챗이 설치가 되었음에도 설치가 안되었다면..
[알림] ZEROBOARD 연동모듈을 수정하였습니다.
KMail 에 관해 질문을 받습니다 ^^
뉴스 서비스에 관련된 질문은.
SWF2SCR 에 관한 질문을 올리는곳입니다.