주민번호칸에 아무번호나 눌러도 통과됩니다; > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

주민번호칸에 아무번호나 눌러도 통과됩니다; 정보

주민번호칸에 아무번호나 눌러도 통과됩니다;

본문

스킨게시판의 "그누보드 메인 회원인증 성인인증" 스킨을 변형해 이용중입니다.
원래스킨: http://www.sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=117537

저 스킨에서  주민번호만 입력해 성인인증만 해서 홈피에 들어오게 하고싶은데요

주민번호가 앞6자리 뒤의 7자리가 일종의 법칙으로 만들어지잖아요
그런데 제가 만든 페이지는 아무숫자나 넣어도 그냥 통과가 됩니다 ㅡㅡ;;
가령 123456-789012  이렇게 넣어도 성인인증하지 않고 그냥 통과되요;;

원래 스킨에서 회원로그인과 이름입력칸만 삭제하고 다른건 안건드렸는데
뭐가 문제인지를 모르겠네요;; 혹시 스킨의 주민등록입력 법칙 자체가 잘못된건지;;
고수님들 어찌하면 좋을지 검증좀 부탁드립니다 ㅠ

//문제의 소스//

<?
include_once("./_common.php");

include_once("$g4[path]/head.sub.php");

if(get_session('ss_jumin_check_accept')) {
Header("location:main.php");
}
?>

<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td align="center" valign="middle">

<table cellpadding="0" cellspacing="0" border="0" align="center">
<tr valign="top">
<td>
  <!-- 성인인증 -->
  <?
$mb_name = trim($_POST[mb_name]);
$mb_jumin = trim($_POST[mb_jumin]);
$accept = trim($_POST[accept]);

//if (!$member[mb_id])
//confirm("로그인 후 성인회원만 이용이 가능합니다. \\n\\n\\n지금 로그인 하시겠습니까?", "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode($url));

//주민등록번호 성인인증 세션값이 있다면
if (get_session('ss_jumin_check_accept')) {
if (!$url)
    echo "<script language='JavaScript'>history.go(-1);</script>";
    if ($url)
    goto_url($url);
    exit;
}

if ($accept == 'ok') {
// 리퍼러 체크
    referer_check();

    //주민등록번호 사용 필수라면..
    if ($config[cf_use_jumin]) {
        $jumin = sql_password($mb_jumin); //주민등록번호를 암호화
        $row = sql_fetch(" select mb_name, mb_jumin from $g4[member_table] where mb_jumin = '$jumin' "); //중복체크위해

        // 주민등록번호가 등록되어 있다면
        if ($row[mb_jumin] == $jumin) {
        // 본인의 이름이 다르다면...
        if ($row[mb_name] != $mb_name) {
alert("이미 같은 주민등록번호로 가입하신 다른 회원이 있습니다.\\n\\n회원 가입을 한 적이 없다면 관리자에게 문의해 주십시오.");
        // 회원 가입을 이미 했다면...
} else {
alert("이미 같은 주민등록번호로 가입되어 있습니다. 로그인하시기 바랍니다.\\n\\n회원 가입을 한 적이 없다면 관리자에게 문의해 주십시오.");
}
}
    }

    // 주민등록번호의 7번째 한자리 숫자
    $y = substr($mb_jumin, 6, 1);

    // 주민등록번호 7번째 자리를 따져서...생일은 8자리로 만든다
    $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;

    $oa = (substr(date('Ymd'),0,4) - substr($birth,0,4)); //만 나이계산
    if ($oa < 19) //만 19세 미만 사용금지
        alert("만 19세 미만은 이용하실 수 없습니다.");

    //주민등록번호 성인인증 세션생성
    set_session('ss_jumin_check_accept', TRUE);

    if ($url)
    {
        $link = urldecode($url);
        // 2003-06-14 추가 (다른 변수들을 넘겨주기 위함)
        if (preg_match("/\?/", $link))
            $split= "&";
        else
            $split= "?";

        // $_POST 배열변수에서 아래의 이름을 가지지 않은 것만 넘김
        foreach($_POST as $key=>$value)
        {
            if ($key != "mb_name" && $key != "mb_jumin" && $key != "accept" && $key != "url")
            {
                $link .= "$split$key=$value";
                $split = "&";
            }
        }
    }
    else
        $link = $g4[path];

    goto_url($link);
} else {
    if ($url)
        $urlencode = urlencode($url);
    else
        $urlencode = urlencode($_SERVER[REQUEST_URI]);
?>
  <table cellpadding="0" cellspacing="0" border="0">
    <form name="fadult" method="POST" action="javascript:fadult_submit(document.fadult);" autocomplete="off">
      <input type="hidden" name="url" value="<?=$urlencode?>">
      <input type="hidden" name="accept" value="ok">
      <tr><td colspan="3" height="30" align="center"><b>성인인증</b></td></tr>
      <tr height="25">
        <td width="90">&nbsp;</td>
        <td>&nbsp;</td>
        <td rowspan="2" width="70" align="right"><input name="image" type=image src="<?=$g4['file:///C|/Utills notebook2/2012 new 홈피/gnuboard4 스킨/그누보드 성인인증adult_euc_kr/path']?>/skin/member/basic/img/ok_button.gif" width="65" height="52" border=0 id="btn_submit"></td>
        </tr>
      <tr height="25">
        <td><b>주민등록번호</b></td>
        <td><input name=mb_jumin itemname="주민등록번호" required jumin minlength="13" maxlength=13 class=ed type=password></td>
        </tr>
      <tr><td colspan="3" height="30">
        <p><b>* '-' 표시없이 13자리 입력하세요.</b></p>
        <p><b>* 입력하신 주민번호는 저장되지 않습니다</b></p>
            </td></tr>
      </form>
    </table>
 
  <script language="javascript">
    function fadult_submit(f)
    {
        f.action = "./intro.php";
        f.submit();
    }
    </script>
  <?
}
?>
  <!-- 성인인증 끝 -->
  </td>
</tr>
</table>

</td>
</tr>
</table>

<?
include_once("./tail.sub.php");
?>

댓글 전체

음 금방 테스트 해봤는데 잘 되는데요.
http://webfreezone.kr/g5/

1. extend 폴더안에 xxx.php 업로드
2. head.php 상단에

if (!$is_member)
jumin_check($url);

3. intro.php 상단에
if(get_session('ss_jumin_check_accept')) {
Header("location:index.php");

저기 사이트 메인파일 적구요 (저는 index.php 로 되어 있어서)
index.php 에서 head.php / tail.php 부르죠.

추가하고 로그인 테이블만 삭제 하구요.
잘 되는데요^^;;
네 원래 이소스는 실명과 주민번호 동일한지 체크까지는 안되고
이름 넣고 올바른 주민번호 남에꺼만 입력이 되도 되는..

실명인증 정식 서비스 신청해야겠죠 제대로 인증은..
직접 실험까지 해주시고 정말 감사합니다. 해보니까 잘 되네요.
그렇다면 제 경우는 뭔가 다른파일과의 연계에 문제가 생긴게 아닐까 싶군요.
근데 도저히 문제가 어딘지 감이 안잡혀서 ㅠ....이 소스를 써야하나마나 고민중입니다만
어쨌건 궁금한점 풀어주셔서 감사합니다!
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT