워프로그인후 그누보드 글쓰기가 안됩니다...
- 06-29
- 4,248 회
- 6 건
되는 줄 알았는데, 안되네요..
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 의 내용은 아래와 같습니다.
<?
$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
-