채택완료

php를 이용하여 그누보드 로그인을 하고 싶습니다.,

앱을 로그인하는데

 

php 를 이용해서 그누보드의 아이디와 비번을 가지고 왔습니다.

 

다시 앱에서 그누보드의 게시판을 사용하려는데 그럴려면 그누보드에서도 로그인을 시켜주어야 합니다.

 

이미 알고 있는 아이디와 비번으로 앱에서 php 를 호출하여 그누보드 로그인 처리를 하고나서

 

게시판을 불러올려고 하는데

 

php를 이용해서 로그인 처리를 자동으로 해줄려면 어떻게 해야 하나요?

 

현재 그누보드의 아이디와 비번은 알고 있습니다. 

|

답변 2개

채택된 답변
+20 포인트

common.php 에보시면 그 해결방법이 있을거 같습니다.

 

Copy
// 자동로그인 부분에서 첫로그인에 포인트 부여하던것을 로그인중일때로 변경하면서 코드도 대폭 수정하였습니다.if ($_SESSION['ss_mb_id']) { // 로그인중이라면    $member = get_member($_SESSION['ss_mb_id']);    // 차단된 회원이면 ss_mb_id 초기화    if($member['mb_intercept_date'] && $member['mb_intercept_date'] <= date("Ymd", G5_SERVER_TIME)) {        set_session('ss_mb_id', '');        $member = array();    } else {        // 오늘 처음 로그인 이라면        if (substr($member['mb_today_login'], 0, 10) != G5_TIME_YMD) {            // 첫 로그인 포인트 지급            insert_point($member['mb_id'], $config['cf_login_point'], G5_TIME_YMD.' 첫로그인', '@login', $member['mb_id'], G5_TIME_YMD);            // 오늘의 로그인이 될 수도 있으며 마지막 로그인일 수도 있음            // 해당 회원의 접근일시와 IP 를 저장            $sql = " update {$g5['member_table']} set mb_today_login = '".G5_TIME_YMDHIS."', mb_login_ip = '{$_SERVER['REMOTE_ADDR']}' where mb_id = '{$member['mb_id']}' ";            sql_query($sql);        }    }} else {    // 자동로그인 ---------------------------------------    // 회원아이디가 쿠키에 저장되어 있다면 (3.27)    if ($tmp_mb_id = get_cookie('ck_mb_id')) {        $tmp_mb_id = substr(preg_replace("/[^a-zA-Z0-9_]*/", "", $tmp_mb_id), 0, 20);        // 최고관리자는 자동로그인 금지        if (strtolower($tmp_mb_id) != strtolower($config['cf_admin'])) {            $sql = " select mb_password, mb_intercept_date, mb_leave_date, mb_email_certify from {$g5['member_table']} where mb_id = '{$tmp_mb_id}' ";            $row = sql_fetch($sql);            $key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'] . $row['mb_password']);            // 쿠키에 저장된 키와 같다면            $tmp_key = get_cookie('ck_auto');            if ($tmp_key == $key && $tmp_key) {                // 차단, 탈퇴가 아니고 메일인증이 사용이면서 인증을 받았다면                if ($row['mb_intercept_date'] == '' &&                    $row['mb_leave_date'] == '' &&                    (!$config['cf_use_email_certify'] || preg_match('/[1-9]/', $row['mb_email_certify'])) ) {                    // 세션에 회원아이디를 저장하여 로그인으로 간주                    set_session('ss_mb_id', $tmp_mb_id);                    // 페이지를 재실행                    echo "<script type='text/javascript'> window.location.reload(); </script>";                    exit;                }            }            // $row 배열변수 해제            unset($row);        }    }    // 자동로그인 end ---------------------------------------}

 

위의 소스를 보시면 세션값을 가지고 있으면 if조건으로 분기를 하도록 되어있습니다.

로그인 후에 새션값을 계속적으로 유지를 해주시면되지 않을까 생각됩니다.

 

만일 로그인을 다시 하시기를 원하시면

/bbs/login_check.php

여기에 md_id값과 mb_password값을 post방식으로 다시 보주시면될듯합니다. 

웹뷰에서 로그인 폼이 발견될 경우

앱(웹뷰)이 로그인 폼 양식을 채운 다음 로그인 버튼을 눌러주면 되겠죠.

 

답변을 작성하려면 로그인이 필요합니다.