php를 이용하여 그누보드 로그인을 하고 싶습니다.,
본문
앱을 로그인하는데
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방식으로 다시 보주시면될듯합니다.
!-->웹뷰에서 로그인 폼이 발견될 경우
앱(웹뷰)이 로그인 폼 양식을 채운 다음 로그인 버튼을 눌러주면 되겠죠.
답변을 작성하시기 전에 로그인 해주세요.