입력 금지 메일이 작동하지 않습니다 ㅠㅠ!! > 그누4 질문답변

그누4 질문답변

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

입력 금지 메일이 작동하지 않습니다 ㅠㅠ!! 정보

입력 금지 메일이 작동하지 않습니다 ㅠㅠ!!

본문

이름, 주소, 남녀, 생일 등을 입력하지 않아도 가입할 수 있도록 수정했는데 ..
어찌된 영문인지 입력금지메일이 작동하지 않고 있습니다 ㅠ_ㅠ !!

register_form.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;
    }
    */

    $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]);
    */

    if ($_POST['mb_password']) {
        // 수정된 정보를 업데이트후 되돌아 온것이라면 패스워드가 암호화 된채로 넘어온것임
        if ($_POST['is_update'])
            $tmp_password = $_POST['mb_password'];
        else
            $tmp_password = sql_password($_POST['mb_password']);

        if ($member['mb_password'] != $tmp_password)
            alert("패스워드가 틀립니다.");
    }

    $g4[title] = "회원 정보 수정";

    $member[mb_email]      = get_text($member[mb_email]);
    $member[mb_homepage]    = get_text($member[mb_homepage]);
    $member[mb_password_q]  = get_text($member[mb_password_q]);
    $member[mb_password_a]  = get_text($member[mb_password_a]);
    $member[mb_birth]      = get_text($member[mb_birth]);
    $member[mb_tel]        = get_text($member[mb_tel]);
    $member[mb_hp]          = get_text($member[mb_hp]);
    $member[mb_addr1]      = get_text($member[mb_addr1]);
    $member[mb_addr2]      = get_text($member[mb_addr2]);
    $member[mb_signature]  = get_text($member[mb_signature]);
    $member[mb_recommend]  = get_text($member[mb_recommend]);
    $member[mb_profile]    = get_text($member[mb_profile]);
    $member[mb_1]          = get_text($member[mb_1]);
    $member[mb_2]          = get_text($member[mb_2]);
    $member[mb_3]          = get_text($member[mb_3]);
    $member[mb_4]          = get_text($member[mb_4]);
    $member[mb_5]          = get_text($member[mb_5]);
    $member[mb_6]          = get_text($member[mb_6]);
    $member[mb_7]          = get_text($member[mb_7]);
    $member[mb_8]          = get_text($member[mb_8]);
    $member[mb_9]          = get_text($member[mb_9]);
    $member[mb_10]          = get_text($member[mb_10]);
} 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");
?>
=========================

register_form.skin.php 소스입니다.
********************************
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

if ($g4[https_url]){
  $action = "$g4[https_url]/$g4[bbs]/register_form_update.php";
}else{
  $action = "./register_form_update.php";
}
?>

<link type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css" rel="stylesheet" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script>
<script type="text/javascript">
/* Korean initialisation for the jQuery calendar extension. */
/* Written by DaeKwon Kang (*** 개인정보보호를 위한 이메일주소 노출방지 ***). */
jQuery(function($){
$.datepicker.regional['ko'] = {
closeText: '닫기',
prevText: '이전달',
nextText: '다음달',
currentText: '오늘',
monthNames: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)',
'7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'],
monthNamesShort: ['1월','2월','3월','4월','5월','6월',
'7월','8월','9월','10월','11월','12월'],
dayNames: ['일','월','화','수','목','금','토'],
dayNamesShort: ['일','월','화','수','목','금','토'],
dayNamesMin: ['일','월','화','수','목','금','토'],
weekHeader: 'Wk',
dateFormat: 'yymmdd',
firstDay: 0,
isRTL: false,
showMonthAfterYear: true,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['ko']);

    $('#mb_birth').datepicker({
        showOn: 'button',
buttonImage: '<?=$g4[path]?>/img/calendar.gif',
buttonImageOnly: true,
        buttonText: "달력",
        changeMonth: true,
changeYear: true,
        showButtonPanel: true,
        yearRange: 'c-99:c+99',
        maxDate: '+0d'
    });
});

var member_skin_path = "<?=$member_skin_path?>";
</script>
<script type="text/javascript" src="<?=$member_skin_path?>/ajax_register_form.jquery.js"></script>
<script type="text/javascript" src="<?=$g4[path]?>/js/md5.js"></script>
<script type="text/javascript" src="<?=$g4[path]?>/js/sideview.js"></script>

<div id="registerform" class="confirm">

<form id="fregisterform" name="fregisterform" method="post" action="<?=$action?>" enctype="multipart/form-data" autocomplete="off">

<?if($w == ''){?>
<h1>Create your account</h1>
<?}else{?>
<h1>Modify Your Account</h1>
<?}?>
<input type="hidden" name="w" value="<?=$w?>" />
<input type="hidden" name="url" value="<?=$urlencode?>" />
<input type="hidden" name="mb_jumin" value="<?=$jumin?>" />
<input type="hidden" name="mb_id_enabled" value="" id="mb_id_enabled" />
<input type="hidden" name="mb_nick_enabled" value="" id="mb_nick_enabled" />
<input type="hidden" name="mb_email_enabled" value="" id="mb_email_enabled" />
<input type="hidden" name="mb_name" itemname="이름" value="익명" />
<table>
<colgroup>
<col style="width:100px;" />
<col />
</colgroup>
<tbody>
<tr>
<th>아이디</th>
<td>
<input class="ed" maxlength="20" id="reg_mb_id" name="mb_id" value="<?=$member[mb_id]?>" <? if ($w=='u') { echo "readonly style=\"background-color:#dddddd;\""; } ?> <? if ($w=='') { echo "onblur=\"reg_mb_id_check();\""; } ?> />
<span class="msg" id="msg_mb_id"></span>
<p class="desc">영문자, 숫자, _ 만 입력 가능. 최소 3자이상 입력하세요.</p>
</td>
</tr>
<tr>
<th>패스워드</th>
<td><input class="ed" type="password" name="mb_password" maxlength="20" <?=($w=="")?"required":"";?> itemname="패스워드" /></td>
</tr>
<tr>
<th>패스워드 확인</th>
<td><input class="ed" type="password" name="mb_password_re" maxlength="20" <?=($w=="")?"required":"";?> itemname="패스워드 확인" /></td>
</tr>
<? if ($member[mb_nick_date] <= date("Y-m-d", $g4[server_time] - ($config[cf_nick_modify] * 86400))) { // 별명수정일이 지났다면 수정가능 ?>
<tr>
<th>별명</th>
<td>
<input type="hidden" name="mb_nick_default" value="<?=$member[mb_nick]?>" />
<input class="ed" type="text" id="reg_mb_nick" name="mb_nick" maxlength="18" value="<?=$member[mb_nick]?>" onblur="reg_mb_nick_check();" />
<span class="msg" id="msg_mb_nick"></span>
공백없이 한글,영문,숫자만 입력 가능 (최대 18자)
<?if((int)$config[cf_nick_modify] > 0){?>
<p class="desc">별명을 바꾸시면 앞으로 <?=(int)$config[cf_nick_modify]?>일 이내에는 변경 할 수 없습니다.</p>
<?}?>
</td>
</tr>
<? } else { ?>
<input type="hidden" name="mb_nick_default" value="<?=$member[mb_nick]?>" />
<input type="hidden" name="mb_nick" value="<?=$member[mb_nick]?>" />
<? } ?>
<tr>
<th>E-mail</th>
<td>
<input type="hidden" name="old_email" value="<?=$member[mb_email]?>" />
<input class="ed" type="text" id="reg_mb_email" name="mb_email" size="38" maxlength="100" value="<?=$member[mb_email]?>" onblur="reg_mb_email_check();">
<span class="msg" id="msg_mb_email"></span>
<? if ($config[cf_use_email_certify]) { ?>
<? if ($w=='') { echo "<br>e-mail 로 발송된 내용을 확인한 후 인증하셔야 회원가입이 완료됩니다.<br>
<font color='red'>가입 후 인증 메일이 도착하지 않았다면 스팸함도 확인해보시길 바랍니다.</font>"; } ?>
<? if ($w=='u') { echo "<br>e-mail 주소를 변경하시면 다시 인증하셔야 합니다."; } ?>
<? } ?>
</td>
</tr>

<? if ($config[cf_use_homepage]) { ?>
<tr>
<th>홈페이지</th>
<td>
<input class="ed" type="text" name="mb_homepage" size="38" maxlength="255" <?=$config[cf_req_homepage]?"required":"";?> itemname="홈페이지" value="<?=$member[mb_homepage]?>" />
</td>
</tr>
<? } ?>

<? if ($config[cf_use_tel]) { ?>
<tr>
<th>전화번호</th>
<td>
<input class="ed" type="text" name="mb_tel" size="21" maxlength="20" <?=$config[cf_req_tel]?"required":"";?> itemname="전화번호" value="<?=$member[mb_tel]?>" />
</td>
</tr>
<? } ?>

<? if ($config[cf_use_hp]) { ?>
<tr>
<th>핸드폰번호</th>
<td>
<input class="ed" type="text" name="mb_hp" size="21" maxlength="20" <?=$config[cf_req_hp]?"required":"";?> itemname="핸드폰번호" value="<?=$member[mb_hp]?>" />
</td>
</tr>
<? } ?>

<? if ($config[cf_use_addr]) { ?>
<tr>
<th>주소</th>
<td>
<input class="ed" type="text" name="mb_zip1" size="4" maxlength="3" readonly <?=$config[cf_req_addr]?"required":"";?> itemname="우편번호 앞자리" value="<?=$member[mb_zip1]?>" /> - <input class="ed" type="text" name="mb_zip2" size="4" maxlength="3" readonly <?=$config[cf_req_addr]?"required":"";?> itemname="우편번호 뒷자리" value="<?=$member[mb_zip2]?>" /> <button type="button" onclick="win_zip('fregisterform', 'mb_zip1', 'mb_zip2', 'mb_addr1', 'mb_addr2');"><img width="91" height="20" src="<?=$member_skin_path?>/img/post_search_btn.gif" border=0 align=absmiddle></button>

<input class="ed" type="text" name="mb_addr1" size="60" readonly <?=$config[cf_req_addr]?"required":"";?> itemname="주소" value="<?=$member[mb_addr1]?>" />
<input class="ed" type="text" name="mb_addr2" size="60" <?=$config[cf_req_addr]?"required":"";?> itemname="상세주소" value="<?=$member[mb_addr2]?>" />
</td>
</tr>
<? } ?>

<? if ($config[cf_use_signature]) { ?>
<tr>
<th>서명(자기소개)</th>
<td>
<textarea name="mb_signature" class="tx" rows="3" style="width:95%;" <?=$config[cf_req_signature]?'required':'';?> itemname="서명"><?=$member[mb_signature]?></textarea>
</td>
</tr>
<? } ?>

<? if ($config[cf_use_profile]) { ?>
<tr>
<th>자기소개</th>
<td>
<textarea name="mb_profile" class="tx" rows="3" style="width:95%;" <?=$config[cf_req_profile]?'required':'';?> itemname="자기 소개"><?=$member[mb_profile]?></textarea>
</td>
</tr>
<? } ?>

<? if ($member[mb_level] >= $config[cf_icon_level]) { ?>
<tr>
<th>회원아이콘</th>
<td>
<INPUT class=ed type=file name='mb_icon' size=30>

<p class="desc">이미지 크기는 가로(<?=$config[cf_member_icon_width]?>픽셀)x세로(<?=$config[cf_member_icon_height]?>픽셀) 이하로 해주세요.<br>&nbsp;&nbsp;(gif,jpg,png 가능 / 용량:<?=number_format($config[cf_member_icon_size])?>바이트 이하만 등록됩니다.)</p>

<? if ($w == "u" && file_exists($mb_icon)) { ?>
<br /><img src="<?=$mb_icon?>" align="absmiddle" /> <input type="checkbox" name="del_mb_icon" value="1" />삭제
<? } ?>
</td>
</tr>
<? } ?>



<? if ($w == "" && $config[cf_use_recommend]) { ?>
<tr>
<th>추천인아이디</th>
<td><input type="text" name="mb_recommend" class="ed" /></td>
</tr>
<? } ?>
<tr>
<th>자동등록방지</th>
<td>
<div style="float:left; margin:0; margin-right:10px;"><img id="kcaptcha_image" /></div>
<input type="input" class="ed" size="10" name="wr_key" itemname="자동등록방지" required />
<p class="desc">광고, 스팸성 아이디 가입을 방지하기 위한 절차입니다.<br />좌측 이미지의 내용을 입력해주세요.</p>
</td>
</tr>
</tbody>
</table>


<div class="register_submit">
<input type="submit" class="submit" value="회원가입 완료하기" />
</div>

</form>
</div>

<script type="text/javascript" src="<?="$g4[path]/js/jquery.kcaptcha.js"?>"></script>
<script type="text/javascript">
$(function() {
    // 폼의 첫번째 입력박스에 포커스 주기
    $("#fregisterform :input[type="text"]:visible:enabled:first").focus();
});

// submit 최종 폼체크
function fregisterform_submit(f)
{
    // 회원아이디 검사
    if (f.w.value == "") {

        reg_mb_id_check();

        if (document.getElementById('mb_id_enabled').value!='000') {
            alert('회원아이디를 입력하지 않았거나 입력에 오류가 있습니다.');
            document.getElementById('reg_mb_id').select();
            return false;
        }
    }

    if (f.w.value == '') {
        if (f.mb_password.value.length < 3) {
            alert('패스워드를 3글자 이상 입력하십시오.');
            f.mb_password.focus();
            return false;
        }
    }

    if (f.mb_password.value != f.mb_password_re.value) {
        alert('패스워드가 같지 않습니다.');
        f.mb_password_re.focus();
        return false;
    }

    if (f.mb_password.value.length > 0) {
        if (f.mb_password_re.value.length < 3) {
            alert('패스워드를 3글자 이상 입력하십시오.');
            f.mb_password_re.focus();
            return false;
        }
    }

    // 이름 검사
    if (f.w.value=='') {
        if (f.mb_name.value.length < 1) {
            alert('이름을 입력하십시오.');
            f.mb_name.focus();
            return false;
        }

        var pattern = /([^가-힣\x20])/i;
        if (pattern.test(f.mb_name.value)) {
            alert('이름은 한글로 입력하십시오.');
            f.mb_name.focus();
            return false;
        }
    }

    // 별명 검사
    if ((f.w.value == "") ||
        (f.w.value == "u" && f.mb_nick.defaultValue != f.mb_nick.value)) {

        reg_mb_nick_check();

        if (document.getElementById('mb_nick_enabled').value!='000') {
            alert('별명을 입력하지 않았거나 입력에 오류가 있습니다.');
            document.getElementById('reg_mb_nick').select();
            return false;
        }
    }

    // E-mail 검사
    if ((f.w.value == "") ||
        (f.w.value == "u" && f.mb_email.defaultValue != f.mb_email.value)) {

        reg_mb_email_check();

        if (document.getElementById('mb_email_enabled').value!='000') {
            alert('E-mail을 입력하지 않았거나 입력에 오류가 있습니다.');
            document.getElementById('reg_mb_email').select();
            return false;
        }

        // 사용할 수 없는 E-mail 도메인
        var domain = prohibit_email_check(f.mb_email.value);
        if (domain) {
            alert("'"+domain+"'은(는) 사용하실 수 없는 메일입니다.");
            document.getElementById('reg_mb_email').focus();
            return false;
        }
    }

    if (typeof(f.mb_birth) != 'undefined') {
        if (f.mb_birth.value.length < 1) {
            alert('달력 버튼을 클릭하여 생일을 입력하여 주십시오.');
            //f.mb_birth.focus();
            return false;
        }

        var todays = <?=date("Ymd", $g4['server_time']);?>;
        // 오늘날짜에서 생일을 빼고 거기서 140000 을 뺀다.
        // 결과가 0 이상의 양수이면 만 14세가 지난것임
        var n = todays - parseInt(f.mb_birth.value) - 140000;
        if (n < 0) {
            alert("만 14세가 지나지 않은 어린이는 정보통신망 이용촉진 및 정보보호 등에 관한 법률\n\n제 31조 1항의 규정에 의하여 법정대리인의 동의를 얻어야 하므로\n\n법정대리인의 이름과 연락처를 '자기소개'란에 별도로 입력하시기 바랍니다.");
            return false;
        }
    }

    if (typeof(f.mb_sex) != 'undefined') {
        if (f.mb_sex.value == '') {
            alert('성별을 선택하여 주십시오.');
            f.mb_sex.focus();
            return false;
        }
    }

    if (typeof f.mb_icon != 'undefined') {
        if (f.mb_icon.value) {
            if (!f.mb_icon.value.toLowerCase().match(/.(gif|jpg|jpeg|png)$/i)) {
                alert('회원아이콘이 gif, jpg, png 파일이 아닙니다.');
                f.mb_icon.focus();
                return false;
            }
        }
    }

    if (typeof(f.mb_recommend) != 'undefined') {
        if (f.mb_id.value == f.mb_recommend.value) {
            alert('본인을 추천할 수 없습니다.');
            f.mb_recommend.focus();
            return false;
        }
    }

    if (!check_kcaptcha(f.wr_key)) {
        return false;
    }

    // 보안인증관련 코드로 반드시 포함되어야 합니다.
    set_cookie("<?=md5($token)?>", "<?=base64_encode($token)?>", 1, "<?=$g4['cookie_domain']?>");

    return true;
}

// 금지 메일 도메인 검사
function prohibit_email_check(email)
{
    email = email.toLowerCase();

    var prohibit_email = "<?=trim(strtolower(preg_replace("/(\r\n|\r|\n)/", ",", $config[cf_prohibit_email])));?>";
    var s = prohibit_email.split(",");
    var tmp = email.split("@");
    var domain = tmp[tmp.length - 1]; // 메일 도메인만 얻는다

    for (i=0; i<s.length; i++) {
        if (s[i] == domain)
            return domain;
    }
    return "";
}
</script>
**********************************

정말 염치없는 .. 힘든 질문이지만 ..
없는 지식을 짜보고 짜봐도 해결되지 않아 이렇게 질문을 하게되었습니다 !..

힌트라도 좋으니 .. 어떤 답변이라도 부탁을 드립니다 ㅠ_ㅠ !!
  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로