그누보드4 회원가입시 오류 : 실명확인에 실패하였습니다 채택완료
그누보드4로 제작한 홈피의 회원가입시 이름과 주민번호를 넣으면 "실명확인에 실패하였습니다.
이름과 주민번호를 다시 한번 확인후 관리자에게 문의하세요" 란 문구가 뜹니다.
이름과 주민번호를 정확하게 넣었는데도 계속 위의 문구가 떠서 회원가입을 할 수 없는데
어디가 잘못되었는지 도움을 받고 싶습니다. 꼭좀 도와주세요!!!
아래에 회원가입 http://bbs/register.php">bbs/register.php 를 올립니다.
<?
include_once("./_common.php");
// 불법접근을 막도록 토큰생성
$token = md5(uniqid(rand(), true));
set_session("ss_token", $token);
if ($w == "") {
// 회원 로그인을 한 경우 회원가입 할 수 없다
// 경고창이 뜨는것을 막기위해 아래의 코드로 대체
// alert("이미 로그인중이므로 회원 가입 하실 수 없습니다.", "./");
if ($member[mb_id])
goto_url($g4[path]);
// 리퍼러 체크
referer_check();
if (!$_POST[agree])
alert("회원가입약관의 내용에 동의하셔야 회원가입 하실 수 있습니다.", "./register.php");
if (!$_POST[agree2])
alert("개인정보취급방침의 내용에 동의하셔야 회원가입 하실 수 있습니다.", "./register.php");
// 주민등록번호를 사용한다면 중복검사를 합니다.
if ($config[cf_use_jumin]) {
$jumin = sql_password($mb_jumin);
$row = sql_fetch(" select mb_name from $g4[member_table] where mb_jumin = '$jumin' ");
if ($row[mb_name]) {
if ($row[mb_name] == $mb_name)
alert("이미 가입되어 있습니다.");
else
alert("다른 이름으로 같은 주민등록번호가 이미 가입되어 있습니다.\\n\\n관리자에게 문의해 주십시오.");
}
// 주민등록번호의 7번째 한자리 숫자
$y = substr($mb_jumin, 6, 1);
// 성별은 F, M 으로 나눈다.
// 주민등록번호의 7번째 자리가 홀수이면 남자(Male), 짝수이면 여자(Female)
$sex = $y % 2 == 0 ? "F" : "M";
// 생일은 8자리로 만든다 (나중에 검색을 편하게 하기 위함)
// 주민등록번호 앞자리를 그냥 생일로 사용함 ㅠㅠ
// 주민등록번호 7번째 자리를 따져서...
$birth = substr($mb_jumin, 0, 6);
if ($y == 9 || $y == 0) // 1800년대생 (계시려나?)
$birth = "18" . $birth;
else if ($y == 1 || $y == 2) // 1900년대생
$birth = "19" . $birth;
else if ($y == 3 || $y == 4) // 2000년대생
$birth = "20" . $birth;
else // 오류
$birth = "xx" . $birth;
}
//실명인증부분 시작
$sSiteID = "J910"; // 한신평에서 부여받은 사이트아이디(사이트코드)를 수정한다.
$sSitePW = "59918473"; // 비밀번호 수정한다.
$cb_encode_path = "/home/hosting_users/skj9595/www/cb_namecheck"; // cb_namecheck 모듈이 설치된 위치의 절대경로와 cb_namecheck 모듈명까지 입력한다.
$strJumin= $mb_jumin; // 주민번호
$strName = $mb_name; //이름
$iReturnCode = "";
// shell_exec() 와 같은 실행함수 호출부 입니다. 홑따옴표가 아니오니 이점 참고해 주세요.
$iReturnCode = `$cb_encode_path $sSiteID $sSitePW $strJumin $strName`; //실행함수 호출하여 iReturnCode 의 변수에 값을 담는다.
//iReturnCode 변수값에 따라 아래 참고하셔서 처리해주세요.(결과값의 자세한 사항은 리턴코드.txt 파일을 참고해 주세요~)
//iReturnCode : 1 이면 --> 실명인증 성공 : XXX.php 로 페이지 이동.
// 2 이면 --> 실명인증 실패 : 주민과 이름이 일치하지 않음. 사용자가 직접 http://www.namecheck.co.kr">www.namecheck.co.kr 로 접속하여 등록 or 1600-1522 콜센터로 접수요청.
// 아래와 같이 한신평에서 제공한 자바스크립트 이용하셔도 됩니다.
// 3 이면 --> 한신평 해당자료 없음 : 사용자가 직접 http://www.namecheck.co.kr">www.namecheck.co.kr 로 접속하여 등록 or 1600-1522 콜센터로 접수요청.
// 아래와 같이 한신평에서 제공한 자바스크립트 이용하셔도 됩니다.
// 5 이면 --> 체크썸오류(주민번호생성규칙에 어긋난 경우: 임의로 생성한 값입니다.)
// 50이면 --> 크레딧뱅크의 명의도용차단 서비스 가입자임 : 직접 명의도용차단 해제 후 실명인증 재시도.
// 아래와 같이 한신평에서 제공한 자바스크립트 이용하셔도 됩니다.
// 그밖에 --> 30번대, 60번대 : 통신오류 ip: 203.234.219.72 port: 81~85(5개) 방화벽 관련 오픈등록해준다.
// (결과값의 자세한 사항은 리턴코드.txt 파일을 참고해 주세요~)
switch($iReturnCode){
//실명인증 성공입니다. 업체에 맞게 페이지 처리 하시면 됩니다.
case 1:
break;
//리턴값 2인 사용자의 경우, http://www.namecheck.co.kr">www.namecheck.co.kr 의 실명등록확인 또는 02-1600-1522 콜센터로 문의주시기 바랍니다.
case 2:
alert("실명 확인에 실패하였습니다. 이름과 주민번호를 다시 한 번 확인 후 관리자에게 문의하세요.");
break;
//'리턴값 3인 사용자의 경우, http://www.namecheck.co.kr">www.namecheck.co.kr 의 실명등록확인 또는 02-1600-1522 콜센터로 문의주시기 바랍니다.
case 3:
alert("실명 확인에 실패하였습니다. 이름과 주민번호를 다시 한 번 확인 후 관리자에게 문의하세요.");
break;
//리턴값 50 명의도용차단 서비스 가입자의 경우, http://www.creditbank.co.kr">www.creditbank.co.kr 에서 명의도용차단해제 후 재시도 해주시면 됩니다.
// 또는 02-1600-1533 콜센터로문의주세요.
case 50;
alert("실명 확인에 실패하였습니다. 이름과 주민번호를 다시 한 번 확인 후 관리자에게 문의하세요.");
break;
default:
//인증에 실패한 경우는 리턴코드.txt 를 참고하여 리턴값을 확인해 주세요~
alert("실명 확인에 실패하였습니다. 이름과 주민번호를 다시 한 번 확인 후 관리자에게 문의하세요.");
break;
}
//실명인증부분 끝
$member[mb_birth] = $birth;
$member[mb_sex] = $sex;
$member[mb_name] = $mb_name;
$g4[title] = "회원 가입";
}
else if ($w == "u")
{
if ($is_admin)
alert("관리자의 회원정보는 관리자 화면에서 수정해 주십시오.", $g4[path]);
if (!$member[mb_id])
alert("로그인 후 이용하여 주십시오.", $g4[path]);
if ($member[mb_id] != $mb_id)
alert("로그인된 회원과 넘어온 정보가 서로 다릅니다.");
if (!($member[mb_password] == sql_password($_POST[mb_password]) && $_POST[mb_password]))
alert("패스워드가 틀립니다.");
// 수정 후 다시 이 폼으로 돌아오기 위해 임시로 저장해 놓음
set_session("ss_tmp_password", $_POST[mb_password]);
$g4[title] = "회원 정보 수정";
} else
alert("w 값이 제대로 넘어오지 않았습니다.");
// 회원아이콘 경로
$mb_icon = "$g4[path]/data/member/".substr($member[mb_id],0,2)."/$member[mb_id].gif";
$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";
include_once("./_head.php");
include_once("./norobot.inc.php"); // 자동등록방지
include_once("$member_skin_path/register_form.skin.php");
include_once("./_tail.php");
?>
답변 1개
그누보드4 의 기본소스에는 실명인증 관련된 부분이 없습니다.
위 본문의 실명인증 관련 코드는 추가된 코드로 보입니다.
그리고, 실명인증 서비스는 무료가 아니고 유료이므로,
관련된 비용을 납부하고 있는 지 확인해 보세요.
비용을 납부하고 있다면, 해당 실명인증 업체에 문의해 보시는 것이 제일 빠를 것 같습니다.
답변에 대한 댓글 3개
그누보드 버전이 오래된 것이라면, 그누보드 4 의 가장 최신버전으로 교체하시면 좋을 듯 합니다.
최신소스로 반영하기 어려운 상황이라면,
본문의 코드 중에서 switch 구문 바로 위에,
$iReturnCode = 1;
switch($iReturnCode){
처럼 리턴 코드를 무조건 1로 세팅해 주면, 정상적으로 넘어갈 것으로 보입니다.
며칠을 끙끙거렸는데 이렇게 쉽게 해결했네요.
다시 또 감사드리며
이렇듯 좋은일을 해주시는 분께 행운을 빕니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
그냥 아주 간단한 회원가입으로 로그인만 되면 되는데,
위의 소스에서 실명인증 서비스 부분을 삭제하면 안될까요?
아 실명인증 서비스 비용은 처음부터 납부한 적이 없습니다.
그동안 회원가입이 됐었는데 갑자기 오류가 나는 것입니다.
답변 진심으로 감사드리며 또 다시 부탁드립니다.