테스트 사이트 - 개발 중인 베타 버전입니다

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

스킨게시판의 "그누보드 메인 회원인증 성인인증" 스킨을 변형해 이용중입니다.
원래스킨: 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");
?>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 6개

주민번호로 가입하면 안됩니다 이제..아직 시행이 안됐나..아무튼
주민번호 수집되면 안됩니다 앞으로. 사이트운영에.
수집은 하지 않습니다. 저장하지 않고 그냥 성인인지 확인만 하려는건데..그래도 적기만해도 수집으로 취급되나요?
음 금방 테스트 해봤는데 잘 되는데요.
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 부르죠.

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

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

게시판 목록

그누4 질문답변

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