그누보드 외부로그인정보 활용 자동로그인

1 개요[ | ]

그누보드 외부로그인정보 활용 자동로그인
  • common.php을 하드코딩 수정함
자동로그인 코드블럭 직전에 추가
  • 그누보드5에서 테스트함
  • 보안상 안전성을 보장하지 않음
// 외부로그인 정보를 얻어오는 라이브러리 (가칭)
require_once 'lib_real_session.php';
// 그누보드에 로그인이 안된 상태이면 세션을 형성하고 새로고침
if ( !$_SESSION['ss_mb_id'] || ( $_SESSION['ss_mb_id'] != real_session('user_id') )) {
	$user_id = real_session('user_id');
	$user_name = real_session('user_name');
	$user_email = real_session('user_email');
	
	// 그누보드 회원목록에 없으면 등록시키고 다시 정보를 가져옴
	$mb = get_member($user_id);
	if($mb === false ) {
		sql_query( "INSERT INTO gnuboard.{$g5['member_table']}
			SET mb_id = '$user_id', mb_name = '$user_name',
				mb_nick = '$user_name', mb_email = '$user_email', mb_level = 2" );
		$mb = get_member($user_id);
	}
	
	// 로그인 세션 생성 후 새로고침
	set_session('ss_mb_id', $mb['mb_id']);
	set_session('ss_mb_key', md5($mb['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']));
	echo "<script>location.reload(true);</script>";
	exit;
}

// 자동로그인 부분에서 첫로그인에 포인트 부여하던것을 로그인중일때로 변경하면서 코드도 대폭 수정하였습니다.

2 같이 보기[ | ]

3 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}