성인인증 문의 채택완료
코리아 크레딧 뷰로를 통해 본인인증을 사용중입니다.
사이트를 성인인증 이후 가입할 수 있도록 하고 싶습니다.
아래 코드에서 어떤 부분을 어떻게 수정해야 성인만 가입가능한지 문의드립니다.
</p>
<p><?php
include_once('./_common.php');
//include_once('./hpcert.config.php');</p>
<p>// KISA 취약점 내용(KVE-2018-0291) hpcert1.php의 $cmd 함수에 대한 인자 값은 hpcert_config.php 파일에서 설정되나, 이를 다른 페이지에서 포함한 뒤 호출할 시 임의 값 설정 가능
// 이에 include_once 를 include 로 수정함
include('./hpcert.config.php');
/**************************************************************************
파일명 : safe_hs_cert3.php</p>
<p> 생년월일 본인 확인서비스 결과 화면(return url)
**************************************************************************/</p>
<p>/* 공통 리턴 항목 */
//$idcfMbrComCd = $_POST['idcf_mbr_com_cd']; // 고객사코드
$idcfMbrComCd = $memId;
$hsCertSvcTxSeqno = $_POST['hs_cert_svc_tx_seqno']; // 거래번호
$rqstSiteNm = $_POST['rqst_site_nm']; // 접속도메인
$hsCertRqstCausCd = $_POST['hs_cert_rqst_caus_cd']; // 인증요청사유코드 2byte (00:회원가입, 01:성인인증, 02:회원정보수정, 03:비밀번호찾기, 04:상품구매, 99:기타)</p>
<p>$resultCd = $_POST['result_cd']; // 결과코드
$resultMsg = $_POST['result_msg']; // 결과메세지
$certDtTm = $_POST['cert_dt_tm']; // 인증일시</p>
<p>if($resultCd != 'B000') {
alert_close('휴대폰 본인확인 중 오류가 발생했습니다. 오류코드 : '.$resultCd.'\\n\\n문의는 코리아크레딧뷰로 고객센터 02-708-1000 로 해주십시오.');
}</p>
<p>/**************************************************************************
* 모듈 호출 ; 생년월일 본인 확인서비스 결과 데이터를 복호화한다.
**************************************************************************/
$encInfo = $_POST['encInfo'];
if(preg_match('~[^0-9a-zA-Z+/=]~', $encInfo, $match)) {echo "입력 값 확인이 필요합니다"; exit;}</p>
<p>//KCB서버 공개키
$WEBPUBKEY = trim($_POST['WEBPUBKEY']);
if(preg_match('~[^0-9a-zA-Z+/=]~', $WEBPUBKEY, $match)) {echo "입력 값 확인이 필요합니다"; exit;}</p>
<p>//KCB서버 서명값
$WEBSIGNATURE = trim($_POST['WEBSIGNATURE']);
if(preg_match('~[^0-9a-zA-Z+/=]~', $WEBSIGNATURE, $match)) {echo "입력 값 확인이 필요합니다"; exit;}</p>
<p>// ########################################################################
// # 암호화키 파일 설정 (절대경로) - 파일은 주어진 파일명으로 자동 생성 됨
// ########################################################################
$keypath = G5_OKNAME_PATH.'/key/safecert_'.$idcfMbrComCd.'.key';</p>
<p>$cpubkey = $WEBPUBKEY; //server publickey
$csig = $WEBSIGNATURE; //server signature</p>
<p>// ########################################################################
// # 로그 경로 지정 및 권한 부여 (절대경로)
// # 옵션값에 'L'을 추가하는 경우에만 로그가 생성됨.
// ########################################################################
$option = 'SU';</p>
<p>// 명령어
$cmd = "$exe $keypath $idcfMbrComCd $endPointUrl $WEBPUBKEY $WEBSIGNATURE $encInfo $logPath $option";</p>
<p>// 실행
exec($cmd, $out, $ret);</p>
<p>// 인증내역기록
@insert_cert_history($member['mb_id'], 'kcb', 'hp');</p>
<p>if($ret == 0) {
// 결과라인에서 값을 추출
foreach($out as $a => $b) {
if($a < 17) {
$field[$a] = $b;
}
}
$resultCd = $field[0];
}
else {
if($ret <=200)
$resultCd=sprintf("B%03d", $ret);
else
$resultCd=sprintf("S%03d", $ret);
}</p>
<p>/*
echo "처리결과코드 :$resultCd
";
echo "처리결과메시지 :$field[1]
";
echo "거래일련번호 :$field[2]
";
echo "인증일시 :$field[3]
";
echo "DI :$field[4]
";
echo "CI :$field[5]
";
echo "성명 :$field[7]
";
echo "생년월일 :$field[8]
";
echo "성별 :$field[9]
";
echo "내외국인구분 :$field[10]
";
echo "통신사코드 :$field[11]
";
echo "휴대폰번호 :$field[12]
";
echo "리턴메시지 :$field[16]
";
*/</p>
<p>// 인증결과처리
$mb_name = $field[7];
$req_num = $field[12];
$mb_birth = $field[8];
$mb_dupinfo = $field[4];
$phone_no = hyphen_hp_number($req_num);</p>
<p>// 중복정보 체크
$sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}' ";
$row = sql_fetch($sql);
if ($row['mb_id']) {
alert_close("입력하신 본인학인 정보로 가입된 내역이 존재합니다.\\n회원아이디 : ".$row['mb_id']);
}</p>
<p>// hash 데이터
$cert_type = 'hp';
$md5_cert_no = md5($req_num);
$hash_data = md5($mb_name.$cert_type.$mb_birth.$md5_cert_no);</p>
<p>// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
$adult = ((int)$mb_birth <= (int)$adult_day) ? 1 : 0;</p>
<p>set_session('ss_cert_type', $cert_type);
set_session('ss_cert_no', $md5_cert_no);
set_session('ss_cert_hash', $hash_data);
set_session('ss_cert_adult', $adult);
set_session('ss_cert_birth', $mb_birth);
set_session('ss_cert_sex', ($field[9] == 1 ? 'M' : 'F'));
set_session('ss_cert_dupinfo', $mb_dupinfo);</p>
<p>$g5['title'] = 'KCB 휴대폰 본인확인';
include_once(G5_PATH.'/head.sub.php');
?></p>
<p><script>
$(function() {
var $opener = window.opener;</p>
<p> $opener.$("input[name=cert_type]").val("<?php echo $cert_type; ?>");
$opener.$("input[name=mb_name]").val("<?php echo $mb_name; ?>").attr("readonly", true);
$opener.$("input[name=mb_hp]").val("<?php echo $phone_no; ?>").attr("readonly", true);
$opener.$("input[name=cert_no]").val("<?php echo $md5_cert_no; ?>");</p>
<p> alert("본인의 휴대폰번호로 확인 되었습니다.");
window.close();
});
</script></p>
<p><?php
include_once(G5_PATH.'/tail.sub.php');
?></p>
<p>
답변 1개
일단 이거부터 하셔야 해요
아마 인트로 같은곳에서 하는곳 같은데
일단 그누보드 스크립트 호출
<script src="/js/certify.js"></script>
jquery 추가
$('#win_hp_cert').on('click', function(){
<?php
switch($config['cf_cert_hp']) {
case 'kcb':
$cert_url = G5_OKNAME_URL.'/hpcert1.php';
$cert_type = 'kcb-hp';
break;
case 'kcp':
$cert_url = G5_KCPCERT_URL.'/kcpcert_form.php';
$cert_type = 'kcp-hp';
break;
case 'lg':
$cert_url = G5_LGXPAY_URL.'/AuthOnlyReq.php';
$cert_type = 'lg-hp';
break;
default:
echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
echo 'return false;';
break;
}
?>
if (confirm('본인 확인을하면 사이트 이용이 가능합니다.\n(회원 전용 페이지 제외)')) {
certify_win_open("<?php echo $cert_type; ?>", "<?php echo $cert_url; ?>");
}
return false;
});
$('#win_ipin_cert').on('click', function(){
if (confirm('본인 확인을하면 사이트 이용이 가능합니다.\n(회원 전용 페이지 제외)')) {
var url = "<?php echo G5_OKNAME_URL; ?>/ipin1.php";
certify_win_open('kcb-ipin', url);
}
return false;
});
이 스크립트에 스크립트를 실행할 부분 추가~
<dl>
<dt>성인인증</dt>
<dd>
<a id="win_hp_cert" class="Phone" href="">휴대폰 인증</a>
</dd>
<dd>
<a id="win_ipin_cert" class="IPin" href="">아이핀(i-PIN) 인증</a>
</dd>
</dl>
이걸 한 다음 계약하신 실명인증하는 부분 가서 (예:kcp면 plugin/okname??)이 쪽가서 마무리 하시면 됩니다~
답변에 대한 댓글 2개
성인 인증을 먼저 한 후 그 다음 회원 가입으로 보내던 사이트 구경을 할수있습니다
사람들마다 적용한 부분이 다르기 때문에 어디에 어떻게 넣는다는것만 알려드릴수가 있겠네요...
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인