주민번호칸에 아무번호나 눌러도 통과됩니다; 정보
주민번호칸에 아무번호나 눌러도 통과됩니다;본문
스킨게시판의 "그누보드 메인 회원인증 성인인증" 스킨을 변형해 이용중입니다.
원래스킨: 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"> </td>
<td> </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://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"> </td>
<td> </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 부르죠.
추가하고 로그인 테이블만 삭제 하구요.
잘 되는데요^^;;
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 부르죠.
추가하고 로그인 테이블만 삭제 하구요.
잘 되는데요^^;;
허위기재하고 눌렀는데 통과

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