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

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

QA

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

답변 2

본문

앱을 로그인하는데

 

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

 

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

 

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

 

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

 

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

 

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

이 질문에 댓글 쓰기 :

답변 2

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

 


// 자동로그인 부분에서 첫로그인에 포인트 부여하던것을 로그인중일때로 변경하면서 코드도 대폭 수정하였습니다.
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방식으로 다시 보주시면될듯합니다. 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 33
© SIRSOFT
현재 페이지 제일 처음으로