회원가입시 핸드폰인증(sms인증) > 그누3 팁자료실

그누3 팁자료실

회원가입시 핸드폰인증(sms인증) 정보

그누호환 회원가입시 핸드폰인증(sms인증)

본문

유료화사이트중 실명인증과 함께 핸드폰인증까지 하는경우가 있습니다.
회원가입시가 아니라도 핸드폰이 본인인지 맞는지 확인하는데 응용하셔도 될듯 싶습니다.
전체소스가 아닌 추가부분만 올립니다.
p.s : 포인트를 이용한 메신져 보내는 방법도 있네요... 따로 올리겠습니다.

핸드폰 모듈
//####################################
user_smscheck.php
//####################################
<?
if($mode=="tran_send_ok") {        echo "<script>self.close();</script>";
}else if($mode=="tran_error") {    echo "<script>self.close();</script>";
}else if($mode=="user_send_ok") {  echo "<script>opener.location.href='../gnu3/?doc=main/sms_pass.php&mode=send_ok';self.close();</script>";
}else if($mode=="user_error") {    echo "<script>opener.location.href='../gnu3/?doc=main/sms_pass.php&mode=error';self.close();</script>";
}else if($mode=="memchk_send_ok") {  echo "<script>self.close();</script>";
}else if($mode=="memchk_error") {    echo "<script>'self.close();</script>";
}



if ($mode == 'memchk' && $mb_id != '') {

$sms = rand(1111,9999);
    $message = "사이트 회원가입 핸드폰인증번호는 " . $sms . "입니다.";

    include ("/home/계정명/www/gnu3/lib/sql.lib.php");
    include ("/home/계정명/www/gnu3/dbconfig.php");
    $connect = @mysql_connect($cfg[mysql_host], $cfg[mysql_user], $cfg[mysql_pass]);
    $select_db = @mysql_select_db($cfg[mysql_db], $connect);
    if (!$select_db) {
        echo "DB 접속 오류";
        exit;
    }

    $mb = sql_fetch( "SELECT mb_id FROM member_smschk WHERE mb_id = '$mb_id' ");
   
    if($mb[mb_id]) {

        sql_query(" UPDATE member_smschk SET sms = '$sms' WHERE mb_id = '$mb_id' ");

    } else {

        sql_query(" INSERT INTO member_smschk SET mb_id = '$mb_id', sms = '$sms' ");
       
    }


}

if ($sender == '') $sender = "000-000-000";

if ($receiver == '') $receiver="018018018";




if ($mode == 'tran' || $mode == 'user' || $mode == 'memchk') {
echo "
<form method='post' name='formsms' action='http://61.100.6.129/mt/amps/amps_processing.php'>
    <input type='hidden' name='uid' value='XXX'>
    <input type='hidden' name='upasswd' value='XXXX'>
<input type='hidden' name='receiver' value='$receiver'>
<input type='hidden' name='returnurl' value='http://www.homeitem.co.kr/text/user_smscheck.php?mode={$mode}_send_ok'>
<input type='hidden' name='errorurl' value='http://www.homeitem.co.kr/text/user_smscheck.php?mode={$mode}_error'>
<input type='hidden' name='sender' value='$sender'>
<input type='hidden' name='message' value='$message'>
</form>
<script language=javascript>
//alert('$receiver');
document.formsms.submit();
</script>
";
}
?>


//##################################################
// mbform.skin.php
//##################################################
// 추가
                          <tr>
                            <td bgcolor=#EFEFEF>핸드폰인증받기</td>
                            <td><input type=text class=input name='mb_sms_chk' size=4 maxlength=4>
                                <a href='javascript:smschk();'>
                                    <font color=red>[인증번호받기]</font></a>
                                    문자를 받을때까지 최대 5분의 시간이 필요합니다.
                            </td>
                          </tr>
//하단 자바스크립트에 추가
    function smschk()
    {
        var f = document.fmbform;

        if (f.mb_id.value == '') {
            alert('회원 아이디를 입력후 핸드폰인증번호받기하세요!');
            f.mb_id.focus();
        }

        if (f.mb_hp.value == '') {
            alert('핸드폰번호 입력후 인증번호받으세요!');
            f.mb_hp.focus();
        }

    var hp = f.mb_hp.value;;
        var mb_hp = "";

        for(x = 0; x < hp.length ; x++)
        {
            ch = hp.substring(x,x+1)
            if( ch != "-")  mb_hp += ch;
        }

    window.open('../text/user_smscheck.php?mode=memchk&mb_id='+f.mb_id.value+'&receiver='+mb_hp+'&sender=<?=$itemset[it_send_hp]?>', 'sms', 'left=50, top=50, width=516, height=400, scrollbars=1');
    }


//################################################
// mbupdate.skin.php
//################################################
// 핸드폰 인증체크
$smschk = sql_fetch(" SELECT * FROM member_smschk WHERE mb_id = '$mb_id' ");
if ($mb_sms_chk != $smschk[sms]) {
    alert("핸드폰 인증번호가 맞지 않습니다. 다시 인증받으세요!");
}

//#################################################
// 인증체크용 sql
//#################################################
#
# 테이블 구조 `member_smschk`
#
CREATE TABLE `member_smschk` (
  `id` int(11) NOT NULL auto_increment,
  `mb_id` varchar(20) NOT NULL default '',
  `sms` varchar(4) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
추천
0

댓글 전체

앗,, 그런데 sms 보낼려면 sms서비스에 가입해야 되는거 아닌가요?
좋은 기능인데, 상업사이트가 아니고 개인홈페이지 정도면.... ㅜ_ㅜ

암튼, 이런 기능을 이용할 수 있는 좋은 소스 감사합니다!!

혹시 시간적 여유가 되신다면, 개인홈피에도 쓸수있는
e-mail로 인증할 수 있는 방법도 염치없게 부탁드립니다. ㅡ_ㅡ;;;

즐거운 추석 보내세요~ ^^
전체 1,026
그누3 팁자료실 내용 검색

회원로그인

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