\"; 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://forum.kilho.top/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. 답변 감사! 합니다.

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

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

    감사! 합니다.

質問掲示板

윈7 사용자인데 '시크릿DNS' 건의사항 있습니당~!
집매니아 드래그앤드롭기능 추가 건의
칼무리 옛날 버전 구할 수 있을까요?
칼무리 녹화기능 문의
Openside 요청드립니다~
문의남깁니다
Kplayer 건의 드립니다.
시크릿 DNS
케이플레이어 기능 건의
시크릿 비디오 건의 드려봅니다.
시크릿 DNS 구버전일때는 아무 문제 없었는데 반강제로 …
시크릿DNS 4.1.0 버전 '닫을 때 알림 영역으로 최소화' …
삼성월렛과 충돌
노드vpn과 충돌
혹시 칼무리 이전 버전 다운로드 할 수 있나요?
집매니아 탐색기 우클릭 메뉴 계단식으로 표시 안되는 …
제 칼무리가 사라졌어요 ㅠ
시크릿 dns 구버전 다운로드 어떻게 하나요?
오픈사이드
k플레이어 위치 저장 문제
문의남깁니다
문의 남깁니다.
집매니아 탐색기 우클릭 메뉴 관련 건의사항 드립니다
시크릿 DNS 구버전 사용해도 될까요??
문의 남깁니다
케이플레이어 1.1.7, 집매니아 1.0.1 건의
월드뷰 건의사항
월드뷰 건의사항
시크릿DNS 최신 버전에서 종료 시 크래시 발생
건의?사항