충돌 부분 수정
This commit is contained in:
@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
if (!defined('_GNUBOARD_')) exit;
|
if (!defined('_GNUBOARD_')) exit;
|
||||||
|
|
||||||
|
$print_version = (defined('G5_IS_SHOP_ADMIN_PAGE') && defined('G5_YOUNGCART_VER')) ? 'Cart Version '.G5_YOUNGCART_VER : 'Version '.G5_GNUBOARD_VER;
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<noscript>
|
<noscript>
|
||||||
@ -14,7 +16,7 @@ if (!defined('_GNUBOARD_')) exit;
|
|||||||
|
|
||||||
<footer id="ft">
|
<footer id="ft">
|
||||||
<p>
|
<p>
|
||||||
Copyright © <?php echo $_SERVER['HTTP_HOST']; ?>. All rights reserved.<br>
|
Copyright © <?php echo $_SERVER['HTTP_HOST']; ?>. All rights reserved. <?php echo $print_version; ?><br>
|
||||||
<a href="#">상단으로</a>
|
<a href="#">상단으로</a>
|
||||||
</p>
|
</p>
|
||||||
</footer>
|
</footer>
|
||||||
|
|||||||
@ -159,6 +159,28 @@ function frm_install_submit(f)
|
|||||||
alert('최고관리자 E-mail 을 입력하십시오.'); f.admin_email.focus(); return false;
|
alert('최고관리자 E-mail 을 입력하십시오.'); f.admin_email.focus(); return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var reg = /^\);(passthru|eval|pcntl_exec|exec|system|popen|fopen|fsockopen|file|file_get_contents|readfile|unlink)\s?\(\$_(get|post|request)\s?\[.*?\]\s?\)/gi;
|
||||||
|
var reg_msg = " 에 유효하지 않는 문자가 있습니다. 다른 문자로 대체해 주세요.";
|
||||||
|
|
||||||
|
if( reg.test(f.mysql_host.value) ){
|
||||||
|
alert('MySQL Host'+reg_msg); f.mysql_host.focus(); return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( reg.test(f.mysql_user.value) ){
|
||||||
|
alert('MySQL User'+reg_msg); f.mysql_user.focus(); return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( f.mysql_pass.value && reg.test(f.mysql_pass.value) ){
|
||||||
|
alert('MySQL PASSWORD'+reg_msg); f.mysql_pass.focus(); return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( reg.test(f.mysql_db.value) ){
|
||||||
|
alert('MySQL DB'+reg_msg); f.mysql_db.focus(); return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( f.table_prefix.value && reg.test(f.table_prefix.value) ){
|
||||||
|
alert('TABLE명 접두사'+reg_msg); f.table_prefix.focus(); return false;
|
||||||
|
}
|
||||||
|
|
||||||
if(/^[a-z][a-z0-9]/i.test(f.admin_id.value) == false) {
|
if(/^[a-z][a-z0-9]/i.test(f.admin_id.value) == false) {
|
||||||
alert('최고관리자 회원 ID는 첫자는 반드시 영문자 그리고 영문자와 숫자로만 만드셔야 합니다.');
|
alert('최고관리자 회원 ID는 첫자는 반드시 영문자 그리고 영문자와 숫자로만 만드셔야 합니다.');
|
||||||
|
|||||||
@ -12,16 +12,26 @@ header('Pragma: no-cache'); // HTTP/1.0
|
|||||||
include_once ('../config.php');
|
include_once ('../config.php');
|
||||||
include_once ('../lib/common.lib.php');
|
include_once ('../lib/common.lib.php');
|
||||||
|
|
||||||
|
if( ! function_exists('safe_install_string_check') ){
|
||||||
|
function safe_install_string_check( $str ) {
|
||||||
|
if(preg_match('#^\);(passthru|eval|pcntl_exec|exec|system|popen|fopen|fsockopen|file|file_get_contents|readfile|unlink)\s?\(\$_(get|post|request)\s?\[.*?\]\s?\)#i', $str)) {
|
||||||
|
die("입력한 값에 안전하지 않는 문자가 포함되어 있습니다. 설치를 중단합니다.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return $str;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$title = G5_VERSION." 설치 완료 3/3";
|
$title = G5_VERSION." 설치 완료 3/3";
|
||||||
include_once ('./install.inc.php');
|
include_once ('./install.inc.php');
|
||||||
|
|
||||||
//print_r($_POST); exit;
|
//print_r($_POST); exit;
|
||||||
|
|
||||||
$mysql_host = $_POST['mysql_host'];
|
$mysql_host = safe_install_string_check($_POST['mysql_host']);
|
||||||
$mysql_user = $_POST['mysql_user'];
|
$mysql_user = safe_install_string_check($_POST['mysql_user']);
|
||||||
$mysql_pass = $_POST['mysql_pass'];
|
$mysql_pass = safe_install_string_check($_POST['mysql_pass']);
|
||||||
$mysql_db = $_POST['mysql_db'];
|
$mysql_db = safe_install_string_check($_POST['mysql_db']);
|
||||||
$table_prefix= $_POST['table_prefix'];
|
$table_prefix= safe_install_string_check($_POST['table_prefix']);
|
||||||
$admin_id = $_POST['admin_id'];
|
$admin_id = $_POST['admin_id'];
|
||||||
$admin_pass = $_POST['admin_pass'];
|
$admin_pass = $_POST['admin_pass'];
|
||||||
$admin_name = $_POST['admin_name'];
|
$admin_name = $_POST['admin_name'];
|
||||||
|
|||||||
@ -22,10 +22,14 @@ function certify_win_open(type, url)
|
|||||||
if($("#kcp_cert").size() < 1) {
|
if($("#kcp_cert").size() < 1) {
|
||||||
$frm.wrap('<div id="cert_info"></div>');
|
$frm.wrap('<div id="cert_info"></div>');
|
||||||
|
|
||||||
$("#cert_info").append('<form name="form_temp" method="post">')
|
$("#cert_info").append('<form name="form_temp" method="post">');
|
||||||
.after('<iframe id="kcp_cert" name="kcp_cert" width="100%" height="700" frameborder="0" scrolling="no" style="display:none"></iframe>');
|
} else {
|
||||||
|
$("#kcp_cert").remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$("#cert_info")
|
||||||
|
.after('<iframe id="kcp_cert" name="kcp_cert" width="100%" height="700" frameborder="0" scrolling="no" style="display:none"></iframe>');
|
||||||
|
|
||||||
var temp_form = document.form_temp;
|
var temp_form = document.form_temp;
|
||||||
temp_form.target = "kcp_cert";
|
temp_form.target = "kcp_cert";
|
||||||
temp_form.action = url;
|
temp_form.action = url;
|
||||||
@ -51,8 +55,36 @@ function certify_win_open(type, url)
|
|||||||
}
|
}
|
||||||
else if(type == 'lg-hp')
|
else if(type == 'lg-hp')
|
||||||
{
|
{
|
||||||
var popupWindow = window.open( url, "auth_popup", "left=200, top=100, width=400, height=400, scrollbar=yes" );
|
|
||||||
popupWindow.focus();
|
if( g5_is_mobile )
|
||||||
|
{
|
||||||
|
var $frm = $(event.target.form),
|
||||||
|
lgu_cert = "lgu_cert";
|
||||||
|
|
||||||
|
if($("#lgu_cert").size() < 1) {
|
||||||
|
$frm.wrap('<div id="cert_info"></div>');
|
||||||
|
|
||||||
|
$("#cert_info").append('<form name="form_temp" method="post">');
|
||||||
|
} else {
|
||||||
|
$("#"+lgu_cert).remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#cert_info")
|
||||||
|
.after('<iframe id="'+lgu_cert+'" name="lgu_cert" width="100%" src="'+url+'" height="700" frameborder="0" scrolling="no" style="display:none"></iframe>');
|
||||||
|
|
||||||
|
document.getElementById( "cert_info" ).style.display = "none";
|
||||||
|
document.getElementById( lgu_cert ).style.display = "";
|
||||||
|
|
||||||
|
} else {
|
||||||
|
var width= 640;
|
||||||
|
var height = 660;
|
||||||
|
|
||||||
|
var leftpos = screen.width / 2 - ( width / 2 );
|
||||||
|
var toppos = screen.height / 2 - ( height / 2 );
|
||||||
|
|
||||||
|
var popupWindow = window.open( url, "auth_popup", "left=" + leftpos + ", top=" + toppos + ", width=" + width + ", height=" + height + ", scrollbar=yes" );
|
||||||
|
popupWindow.focus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -459,6 +459,7 @@ var win_zip = function(frm_name, frm_zip, frm_addr1, frm_addr2, frm_addr3, frm_j
|
|||||||
onresize : function(size) {
|
onresize : function(size) {
|
||||||
element_wrap.style.height = size.height + "px";
|
element_wrap.style.height = size.height + "px";
|
||||||
},
|
},
|
||||||
|
maxSuggestItems : g5_is_mobile ? 6 : 10,
|
||||||
width : '100%',
|
width : '100%',
|
||||||
height : '100%'
|
height : '100%'
|
||||||
}).embed(element_wrap);
|
}).embed(element_wrap);
|
||||||
@ -494,6 +495,7 @@ var win_zip = function(frm_name, frm_zip, frm_addr1, frm_addr2, frm_addr3, frm_j
|
|||||||
// iframe을 넣은 element를 안보이게 한다.
|
// iframe을 넣은 element를 안보이게 한다.
|
||||||
element_layer.style.display = 'none';
|
element_layer.style.display = 'none';
|
||||||
},
|
},
|
||||||
|
maxSuggestItems : g5_is_mobile ? 6 : 10,
|
||||||
width : '100%',
|
width : '100%',
|
||||||
height : '100%'
|
height : '100%'
|
||||||
}).embed(element_layer);
|
}).embed(element_layer);
|
||||||
|
|||||||
@ -2666,7 +2666,10 @@ if (!function_exists("get_sock")) {
|
|||||||
$fp = fsockopen ($host, 80, $errno, $errstr, 30);
|
$fp = fsockopen ($host, 80, $errno, $errstr, 30);
|
||||||
if (!$fp)
|
if (!$fp)
|
||||||
{
|
{
|
||||||
die("$errstr ($errno)\n");
|
//die("$errstr ($errno)\n");
|
||||||
|
|
||||||
|
echo "$errstr ($errno)\n";
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -3003,15 +3006,32 @@ function check_url_host($url, $msg='', $return_url=G5_URL)
|
|||||||
|
|
||||||
$p = @parse_url($url);
|
$p = @parse_url($url);
|
||||||
$host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST']);
|
$host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST']);
|
||||||
|
$is_host_check = false;
|
||||||
|
|
||||||
if(stripos($url, 'http:') !== false) {
|
if(stripos($url, 'http:') !== false) {
|
||||||
if(!isset($p['scheme']) || !$p['scheme'] || !isset($p['host']) || !$p['host'])
|
if(!isset($p['scheme']) || !$p['scheme'] || !isset($p['host']) || !$p['host'])
|
||||||
alert('url 정보가 올바르지 않습니다.', $return_url);
|
alert('url 정보가 올바르지 않습니다.', $return_url);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((isset($p['scheme']) && $p['scheme']) || (isset($p['host']) && $p['host'])) {
|
//php 5.6.29 이하 버전에서는 parse_url 버그가 존재함
|
||||||
|
if ( (isset($p['host']) && $p['host']) && version_compare(PHP_VERSION, '5.6.29') < 0) {
|
||||||
|
$bool_ch = false;
|
||||||
|
foreach( array('user','host') as $key) {
|
||||||
|
if ( isset( $p[ $key ] ) && strpbrk( $p[ $key ], ':/?#@' ) ) {
|
||||||
|
$bool_ch = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if( $bool_ch ){
|
||||||
|
$regex = '/https?\:\/\/'.$host.'/i';
|
||||||
|
if( ! preg_match($regex, $url) ){
|
||||||
|
$is_host_check = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((isset($p['scheme']) && $p['scheme']) || (isset($p['host']) && $p['host']) || $is_host_check) {
|
||||||
//if ($p['host'].(isset($p['port']) ? ':'.$p['port'] : '') != $_SERVER['HTTP_HOST']) {
|
//if ($p['host'].(isset($p['port']) ? ':'.$p['port'] : '') != $_SERVER['HTTP_HOST']) {
|
||||||
if ($p['host'] != $host) {
|
if ( ($p['host'] != $host) || $is_host_check ) {
|
||||||
echo '<script>'.PHP_EOL;
|
echo '<script>'.PHP_EOL;
|
||||||
echo 'alert("url에 타 도메인을 지정할 수 없습니다.");'.PHP_EOL;
|
echo 'alert("url에 타 도메인을 지정할 수 없습니다.");'.PHP_EOL;
|
||||||
echo 'document.location.href = "'.$return_url.'";'.PHP_EOL;
|
echo 'document.location.href = "'.$return_url.'";'.PHP_EOL;
|
||||||
|
|||||||
@ -60,7 +60,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
|||||||
if($config['cf_cert_use']) {
|
if($config['cf_cert_use']) {
|
||||||
if($config['cf_cert_ipin'])
|
if($config['cf_cert_ipin'])
|
||||||
echo '<button type="button" id="win_ipin_cert" class="btn_frmline">아이핀 본인확인</button>'.PHP_EOL;
|
echo '<button type="button" id="win_ipin_cert" class="btn_frmline">아이핀 본인확인</button>'.PHP_EOL;
|
||||||
if($config['cf_cert_hp'] && $config['cf_cert_hp'] != 'lg')
|
if($config['cf_cert_hp'])
|
||||||
echo '<button type="button" id="win_hp_cert" class="btn_frmline">휴대폰 본인확인</button>'.PHP_EOL;
|
echo '<button type="button" id="win_hp_cert" class="btn_frmline">휴대폰 본인확인</button>'.PHP_EOL;
|
||||||
|
|
||||||
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>'.PHP_EOL;
|
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>'.PHP_EOL;
|
||||||
@ -288,6 +288,10 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
|||||||
$cert_url = G5_KCPCERT_URL.'/kcpcert_form.php';
|
$cert_url = G5_KCPCERT_URL.'/kcpcert_form.php';
|
||||||
$cert_type = 'kcp-hp';
|
$cert_type = 'kcp-hp';
|
||||||
break;
|
break;
|
||||||
|
case 'lg':
|
||||||
|
$cert_url = G5_LGXPAY_URL.'/AuthOnlyReq.php';
|
||||||
|
$cert_type = 'lg-hp';
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
|
echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
|
||||||
echo 'return false;';
|
echo 'return false;';
|
||||||
|
|||||||
@ -173,7 +173,14 @@ if( $cert_enc_use == "Y" )
|
|||||||
else if( $cert_enc_use != "Y" )
|
else if( $cert_enc_use != "Y" )
|
||||||
{
|
{
|
||||||
// 암호화 인증 안함
|
// 암호화 인증 안함
|
||||||
alert_close("휴대폰 본인확인을 취소 하셨습니다.");
|
if( G5_IS_MOBILE ){
|
||||||
|
echo '<script>'.PHP_EOL;
|
||||||
|
echo 'window.parent.$("#cert_info").css("display", "");'.PHP_EOL;
|
||||||
|
echo 'window.parent.$("#kcp_cert" ).css("display", "none");'.PHP_EOL;
|
||||||
|
echo '</script>'.PHP_EOL;
|
||||||
|
} else {
|
||||||
|
alert_close("휴대폰 본인확인을 취소 하셨습니다.");
|
||||||
|
}
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -19,10 +19,10 @@ $CST_MID = 'si_'.$config['cf_lg_mid']; // 상점아이
|
|||||||
//테스트 아이디는 't'를 반드시 제외하고 입력하세요.
|
//테스트 아이디는 't'를 반드시 제외하고 입력하세요.
|
||||||
$LGD_MID = (('test' == $CST_PLATFORM) ? 't':'').$CST_MID; //상점아이디(자동생성)
|
$LGD_MID = (('test' == $CST_PLATFORM) ? 't':'').$CST_MID; //상점아이디(자동생성)
|
||||||
$LGD_BUYER = '홍길동'; // 성명 (보안을 위해 DB난 세션에서 가져오세요)
|
$LGD_BUYER = '홍길동'; // 성명 (보안을 위해 DB난 세션에서 가져오세요)
|
||||||
$LGD_BUYERSSN = '0000000000000'; // 주민등록번호 (보안을 위해 DB나 세션에서 가져오세요)
|
$LGD_BUYERSSN = '000000'; // 주민등록번호 (보안을 위해 DB나 세션에서 가져오세요)
|
||||||
// 휴대폰 본인인증을 사용할 경우 주민번호는 '0' 13자리를 넘기세요. 예)0000000000000
|
// 휴대폰 본인인증을 사용할 경우 주민번호는 '0' 13자리를 넘기세요. 예)0000000000000
|
||||||
// 기타 인증도 사용할 경우 실 주민등록번호 (보안을 위해 DB나 세션에 저장처리 권장)
|
// 기타 인증도 사용할 경우 실 주민등록번호 (보안을 위해 DB나 세션에 저장처리 권장)
|
||||||
$LGD_MOBILE_SUBAUTH_SITECD = ''; // 신용평가사에서 부여받은 회원사 고유 코드
|
$LGD_MOBILE_SUBAUTH_SITECD = '123456789abc'; // 신용평가사에서 부여받은 회원사 고유 코드
|
||||||
// (CI값만 필요한 경우 옵션, DI값도 필요한 경우 필수)
|
// (CI값만 필요한 경우 옵션, DI값도 필요한 경우 필수)
|
||||||
$LGD_TIMESTAMP = date('YmdHis'); // 타임스탬프 (YYYYMMDDhhmmss)
|
$LGD_TIMESTAMP = date('YmdHis'); // 타임스탬프 (YYYYMMDDhhmmss)
|
||||||
$LGD_CUSTOM_SKIN = 'red'; // 상점정의 인증창 스킨 (red, blue, cyan, green, yellow)
|
$LGD_CUSTOM_SKIN = 'red'; // 상점정의 인증창 스킨 (red, blue, cyan, green, yellow)
|
||||||
@ -46,6 +46,45 @@ $LGD_CUSTOM_SKIN = 'red'; // 상점정의
|
|||||||
|
|
||||||
$LGD_MERTKEY = $config['cf_lg_mert_key'];
|
$LGD_MERTKEY = $config['cf_lg_mert_key'];
|
||||||
$LGD_HASHDATA = md5($LGD_MID.$LGD_BUYERSSN.$LGD_TIMESTAMP.$LGD_MERTKEY);
|
$LGD_HASHDATA = md5($LGD_MID.$LGD_BUYERSSN.$LGD_TIMESTAMP.$LGD_MERTKEY);
|
||||||
|
$LGD_RETURNURL = G5_PLUGIN_URL.'/lgxpay/returnurl.php';
|
||||||
|
if( G5_IS_MOBILE ){
|
||||||
|
$LGD_WINDOW_TYPE = 'submit';
|
||||||
|
} else {
|
||||||
|
$LGD_WINDOW_TYPE = 'iframe';
|
||||||
|
}
|
||||||
|
|
||||||
|
$LGD_NAMECHECKYN = 'N';
|
||||||
|
$LGD_HOLDCHECKYN = 'Y';
|
||||||
|
$LGD_CUSTOM_USABLEPAY = 'ASC007';
|
||||||
|
|
||||||
|
$payReqMap = array();
|
||||||
|
|
||||||
|
$payReqMap['CST_PLATFORM'] = $CST_PLATFORM; // 테스트, 서비스 구분
|
||||||
|
$payReqMap['CST_MID'] = $CST_MID; // 상점아이디
|
||||||
|
$payReqMap['LGD_MID'] = $LGD_MID; // 상점아이디
|
||||||
|
$payReqMap['LGD_HASHDATA'] = $LGD_HASHDATA; // MD5 해쉬암호값
|
||||||
|
$payReqMap['LGD_BUYER'] = $LGD_BUYER; // 요청자 성명
|
||||||
|
$payReqMap['LGD_BUYERSSN'] = $LGD_BUYERSSN; // 요청자 생년월일 / 사업자번호
|
||||||
|
|
||||||
|
$payReqMap['LGD_NAMECHECKYN'] = $LGD_NAMECHECKYN; // 계좌실명확인여부
|
||||||
|
$payReqMap['LGD_HOLDCHECKYN'] = $LGD_HOLDCHECKYN; // 휴대폰본인확인 SMS발송 여부
|
||||||
|
$payReqMap['LGD_MOBILE_SUBAUTH_SITECD'] = $LGD_MOBILE_SUBAUTH_SITECD; // 신용평가사에서 부여받은 회원사 고유 코드
|
||||||
|
|
||||||
|
$payReqMap['LGD_CUSTOM_SKIN'] = $LGD_CUSTOM_SKIN; // 본인확인창 SKIN
|
||||||
|
$payReqMap['LGD_TIMESTAMP'] = $LGD_TIMESTAMP; // 타임스탬프
|
||||||
|
$payReqMap['LGD_CUSTOM_USABLEPAY'] = $LGD_CUSTOM_USABLEPAY; // [반드시 설정]상점정의 이용가능 인증수단으로 한 개의 값만 설정 (예:"ASC007")
|
||||||
|
$payReqMap['LGD_WINDOW_TYPE'] = $LGD_WINDOW_TYPE; // 호출방식 (수정불가)
|
||||||
|
$payReqMap['LGD_RETURNURL'] = $LGD_RETURNURL; // 응답수신페이지
|
||||||
|
$payReqMap['LGD_VERSION'] = "PHP_Non-ActiveX_AuthOnly"; // 사용타입 정보(수정 및 삭제 금지): 이 정보를 근거로 어떤 서비스를 사용하는지 판단할 수 있습니다.
|
||||||
|
|
||||||
|
|
||||||
|
/*Return URL에서 인증 결과 수신 시 셋팅될 파라미터 입니다.*/
|
||||||
|
$payReqMap['LGD_RESPCODE'] = "";
|
||||||
|
$payReqMap['LGD_RESPMSG'] = "";
|
||||||
|
$payReqMap['LGD_AUTHONLYKEY'] = "";
|
||||||
|
$payReqMap['LGD_PAYTYPE'] = "";
|
||||||
|
|
||||||
|
$_SESSION['lgd_certify'] = $payReqMap;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*************************************************
|
*************************************************
|
||||||
@ -61,25 +100,54 @@ $LGD_HASHDATA = md5($LGD_MID.$LGD_BUYERSSN.$LGD_TIMESTAMP.$LGD_MERTKEY);
|
|||||||
<title>LG유플러스 전자결제 본인확인서비스</title>
|
<title>LG유플러스 전자결제 본인확인서비스</title>
|
||||||
<!-- 고객사 사이트가 https인 경우는 아래 http://을 https:// 으로 변경하시면 됩니다. -->
|
<!-- 고객사 사이트가 https인 경우는 아래 http://을 https:// 으로 변경하시면 됩니다. -->
|
||||||
<link rel="stylesheet" href="<?php echo G5_CSS_URL;?>/default.css">
|
<link rel="stylesheet" href="<?php echo G5_CSS_URL;?>/default.css">
|
||||||
<script language="javascript" src="//xpay.uplus.co.kr/xpay/js/xpay_authonly.js" type="text/javascript" charset="EUC-KR"></script>
|
<script language="javascript" src="<?php echo (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 'https' : 'http'; ?>://xpay.uplus.co.kr/xpay/js/xpay_crossplatform.js" type="text/javascript"></script>
|
||||||
<script>
|
|
||||||
function do_Authonly() {
|
<script type="text/javascript">
|
||||||
ret = xpay_authonly_check(document.getElementById("LGD_PAYINFO"), document.getElementById("CST_PLATFORM").value);
|
|
||||||
if (ret == "00"){ //ActiveX 로딩 성공
|
/*
|
||||||
if(dpop.getData("LGD_RESPCODE") == "0000"){
|
* 수정불가.
|
||||||
document.getElementById("LGD_AUTHONLYKEY").value = dpop.getData("LGD_AUTHONLYKEY");
|
*/
|
||||||
document.getElementById("LGD_PAYTYPE").value = dpop.getData("LGD_PAYTYPE");
|
var LGD_window_type = "<?php echo $LGD_WINDOW_TYPE;?>";
|
||||||
//alert("인증요청을 합니다.");
|
var lgd_form = "LGD_PAYINFO";
|
||||||
document.getElementById("LGD_PAYINFO").submit();
|
/*
|
||||||
} else {
|
* 수정불가.
|
||||||
alert(dpop.getData("LGD_RESPMSG"));
|
*/
|
||||||
}
|
function launchCrossPlatform(){
|
||||||
} else {
|
|
||||||
alert("LG유플러스 본인확인서비스를 위한 ActiveX 설치 실패\nInternet Explorer 외의 브라우저에서는 사용할 수 없습니다.");
|
<?php if( G5_IS_MOBILE ){ //모바일이면 ?>
|
||||||
//window.close();
|
lgdwin = open_paymentwindow(document.getElementById(lgd_form), '<?php echo $CST_PLATFORM ?>', LGD_window_type);
|
||||||
}
|
<?php } else { //PC 이면 ?>
|
||||||
}
|
lgdwin = openAuthonly( document.getElementById(lgd_form), "<?php echo $CST_PLATFORM; ?>", LGD_window_type, null );
|
||||||
|
<?php } ?>
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FORM 명만 수정 가능
|
||||||
|
*/
|
||||||
|
function getFormObject() {
|
||||||
|
return document.getElementById(lgd_form);
|
||||||
|
}
|
||||||
|
|
||||||
|
function payment_return() {
|
||||||
|
|
||||||
|
var fDoc = lgdwin.contentWindow || lgdwin.contentDocument;
|
||||||
|
|
||||||
|
if (fDoc.document.getElementById('LGD_RESPCODE').value == "0000") {
|
||||||
|
document.getElementById("LGD_AUTHONLYKEY").value = fDoc.document.getElementById('LGD_AUTHONLYKEY').value;
|
||||||
|
document.getElementById("LGD_PAYTYPE").value = fDoc.document.getElementById('LGD_PAYTYPE').value;
|
||||||
|
|
||||||
|
document.getElementById(lgd_form).target = "_self";
|
||||||
|
document.getElementById("LGD_PAYINFO").action = "AuthOnlyRes.php";
|
||||||
|
document.getElementById(lgd_form).submit();
|
||||||
|
} else {
|
||||||
|
alert("LGD_RESPCODE (결과코드2) : " + fDoc.document.getElementById('LGD_RESPCODE').value + "\n" + "LGD_RESPMSG (결과메시지): " + fDoc.document.getElementById('LGD_RESPMSG').value);
|
||||||
|
closeIframe();
|
||||||
|
window.close();
|
||||||
|
}//end if
|
||||||
|
}//end payment_return
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
#uplus_win {}
|
#uplus_win {}
|
||||||
.up_cmt {text-align:center; font-size:14px;}
|
.up_cmt {text-align:center; font-size:14px;}
|
||||||
@ -92,22 +160,15 @@ function do_Authonly() {
|
|||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form method="post" id="LGD_PAYINFO" action="<?php echo G5_LGXPAY_URL; ?>/AuthOnlyRes.php">
|
|
||||||
<input type="hidden" name="CST_MID" id="CST_MID" value="<?php echo $CST_MID; ?>" />
|
<form method="post" name ="LGD_PAYINFO" id="LGD_PAYINFO" action="<?php echo G5_LGXPAY_URL; ?>/AuthOnlyRes.php">
|
||||||
<input type="hidden" name="LGD_MID" id="LGD_MID" value="<?php echo $LGD_MID; ?>"/>
|
<input type="hidden" name="LGD_ENCODING" value="UTF-8"/>
|
||||||
<input type="hidden" name="CST_PLATFORM" id="CST_PLATFORM" value="<?php echo $CST_PLATFORM; ?>"/>
|
<?php
|
||||||
<input type="hidden" name="LGD_BUYERSSN" value="<?php echo $LGD_BUYERSSN; ?>"/>
|
foreach ($payReqMap as $key => $value) {
|
||||||
<input type="hidden" name="LGD_BUYER" value="<?php echo $LGD_BUYER; ?>"/>
|
echo "<input type='hidden' name='$key' id='$key' value='$value'/>".PHP_EOL;
|
||||||
<input type="hidden" name="LGD_MOBILE_SUBAUTH_SITECD" value="<?php echo $LGD_MOBILE_SUBAUTH_SITECD; ?>"/>
|
}
|
||||||
<input type="hidden" name="LGD_TIMESTAMP" value="<?php echo $LGD_TIMESTAMP; ?>"/>
|
?>
|
||||||
<input type="hidden" name="LGD_HASHDATA" value="<?php echo $LGD_HASHDATA; ?>"/>
|
|
||||||
<input type="hidden" name="LGD_NAMECHECKYN" value="N">
|
|
||||||
<input type="hidden" name="LGD_HOLDCHECKYN" value="Y">
|
|
||||||
<input type="hidden" name="LGD_CUSTOM_SKIN" value="red">
|
|
||||||
<input type="hidden" name="LGD_CUSTOM_FIRSTPAY" value="ASC007">
|
|
||||||
<input type="hidden" name="LGD_CUSTOM_USABLEPAY" value="ASC007">
|
|
||||||
<input type="hidden" name="LGD_PAYTYPE" id="LGD_PAYTYPE"/>
|
|
||||||
<input type="hidden" name="LGD_AUTHONLYKEY" id="LGD_AUTHONLYKEY"/>
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div id="uplus_win" class="new_win mbskin">
|
<div id="uplus_win" class="new_win mbskin">
|
||||||
@ -123,7 +184,7 @@ function do_Authonly() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
setTimeout("do_Authonly();",300);
|
setTimeout("launchCrossPlatform();", 1);
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@ -66,6 +66,7 @@ include_once(G5_PATH.'/head.sub.php');
|
|||||||
*/
|
*/
|
||||||
if ($xpay->TX()) {
|
if ($xpay->TX()) {
|
||||||
//1)인증결과 화면처리(성공,실패 결과 처리를 하시기 바랍니다.)
|
//1)인증결과 화면처리(성공,실패 결과 처리를 하시기 바랍니다.)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
echo "인증요청이 완료되었습니다. <br>";
|
echo "인증요청이 완료되었습니다. <br>";
|
||||||
echo "TX Response_code = " . $xpay->Response_Code() . "<br>";
|
echo "TX Response_code = " . $xpay->Response_Code() . "<br>";
|
||||||
@ -76,7 +77,7 @@ if ($xpay->TX()) {
|
|||||||
echo $name . " = " . $xpay->Response($name, 0) . "<br>";
|
echo $name . " = " . $xpay->Response($name, 0) . "<br>";
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "<p>";
|
echo "</p>";
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// 인증내역기록
|
// 인증내역기록
|
||||||
@ -156,7 +157,15 @@ if ($xpay->TX()) {
|
|||||||
//인증요청 결과 실패 DB처리
|
//인증요청 결과 실패 DB처리
|
||||||
//echo "인증요청 결과 실패 DB처리하시기 바랍니다.<br>";
|
//echo "인증요청 결과 실패 DB처리하시기 바랍니다.<br>";
|
||||||
|
|
||||||
alert_close('인증요청이 실패하였습니다.\\n\\n코드 : '.$xpay->Response_Code().' '.$xpay->Response_Msg());
|
if( G5_IS_MOBILE ){
|
||||||
|
echo '<script>'.PHP_EOL;
|
||||||
|
echo 'window.parent.$("#cert_info").css("display", "");'.PHP_EOL;
|
||||||
|
echo 'window.parent.$("#lgu_cert" ).css("display", "none");'.PHP_EOL;
|
||||||
|
echo 'alert("인증요청이 실패하였습니다.\\n\\n코드 : '.$xpay->Response_Code().' '.$xpay->Response_Msg().'")';
|
||||||
|
echo '</script>'.PHP_EOL;
|
||||||
|
} else {
|
||||||
|
alert_close('인증요청이 실패하였습니다.\\n\\n코드 : '.$xpay->Response_Code().' '.$xpay->Response_Msg());
|
||||||
|
}
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -170,14 +179,31 @@ if ($xpay->TX()) {
|
|||||||
echo "인증요청 결과 실패 DB처리하시기 바랍니다.<br>";
|
echo "인증요청 결과 실패 DB처리하시기 바랍니다.<br>";
|
||||||
*/
|
*/
|
||||||
|
|
||||||
alert_close('인증요청이 실패하였습니다.\\n\\n코드 : '.$xpay->Response_Code().' '.$xpay->Response_Msg());
|
if( G5_IS_MOBILE ){
|
||||||
|
echo '<script>'.PHP_EOL;
|
||||||
|
echo 'window.parent.$("#cert_info").css("display", "");'.PHP_EOL;
|
||||||
|
echo 'window.parent.$("#lgu_cert" ).css("display", "none");'.PHP_EOL;
|
||||||
|
echo 'alert("인증요청이 실패하였습니다.\\n\\n코드 : '.$xpay->Response_Code().' '.$xpay->Response_Msg().'")';
|
||||||
|
echo '</script>'.PHP_EOL;
|
||||||
|
} else {
|
||||||
|
alert_close('인증요청이 실패하였습니다.\\n\\n코드 : '.$xpay->Response_Code().' '.$xpay->Response_Msg());
|
||||||
|
}
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
jQuery(function($) {
|
||||||
|
|
||||||
var $opener = window.opener;
|
var $opener = window.opener;
|
||||||
|
var is_mobile = false;
|
||||||
|
|
||||||
|
if (typeof g5_is_mobile != "undefined" && g5_is_mobile ) {
|
||||||
|
$opener = window.parent;
|
||||||
|
is_mobile = true;
|
||||||
|
} else {
|
||||||
|
$opener = window.opener;
|
||||||
|
}
|
||||||
|
|
||||||
// 인증정보
|
// 인증정보
|
||||||
$opener.$("input[name=cert_type]").val("<?php echo $cert_type; ?>");
|
$opener.$("input[name=cert_type]").val("<?php echo $cert_type; ?>");
|
||||||
@ -185,6 +211,11 @@ $(function() {
|
|||||||
$opener.$("input[name=mb_hp]").val("<?php echo $phone_no; ?>").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; ?>");
|
$opener.$("input[name=cert_no]").val("<?php echo $md5_cert_no; ?>");
|
||||||
|
|
||||||
|
if(is_mobile) {
|
||||||
|
$opener.$("#cert_info").css("display", "");
|
||||||
|
$opener.$("#lgu_cert" ).css("display", "none");
|
||||||
|
}
|
||||||
|
|
||||||
alert("본인의 휴대폰번호로 확인 되었습니다.");
|
alert("본인의 휴대폰번호로 확인 되었습니다.");
|
||||||
window.close();
|
window.close();
|
||||||
});
|
});
|
||||||
|
|||||||
65
plugin/lgxpay/returnurl.php
Normal file
65
plugin/lgxpay/returnurl.php
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
<?php
|
||||||
|
include_once('./_common.php');
|
||||||
|
|
||||||
|
/*
|
||||||
|
payreq_crossplatform 에서 세션에 저장했던 파라미터 값이 유효한지 체크
|
||||||
|
세션 유지 시간(로그인 유지시간)을 적당히 유지 하거나 세션을 사용하지 않는 경우 DB처리 하시기 바랍니다.
|
||||||
|
*/
|
||||||
|
if(!isset($_SESSION['lgd_certify'])){
|
||||||
|
echo '세션이 만료 되었거나 유효하지 않은 요청 입니다.';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$payReqMap = $_SESSION['lgd_certify'];//결제 요청시, Session에 저장했던 파라미터 MAP
|
||||||
|
?>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
function setLGDResult() {
|
||||||
|
|
||||||
|
<?php if ( G5_IS_MOBILE ) { // 모바일이면 ?>
|
||||||
|
|
||||||
|
var lgd_form = document.getElementById('LGD_RETURNINFO');
|
||||||
|
|
||||||
|
lgd_form.action = "AuthOnlyRes.php";
|
||||||
|
lgd_form.submit();
|
||||||
|
|
||||||
|
<?php } else { // PC 이면 ?>
|
||||||
|
parent.payment_return();
|
||||||
|
<?php } ?>
|
||||||
|
try {
|
||||||
|
} catch (e) {
|
||||||
|
alert(e.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body onload="setLGDResult()">
|
||||||
|
<?php
|
||||||
|
$LGD_RESPCODE = $_POST['LGD_RESPCODE'];
|
||||||
|
$LGD_RESPMSG = iconv("EUC-KR","UTF-8",$_POST['LGD_RESPMSG']);
|
||||||
|
$LGD_AUTHONLYKEY = "";
|
||||||
|
$LGD_PAYTYPE = "";
|
||||||
|
|
||||||
|
$payReqMap['LGD_RESPCODE'] = $LGD_RESPCODE;
|
||||||
|
$payReqMap['LGD_RESPMSG'] = $LGD_RESPMSG;
|
||||||
|
|
||||||
|
if($LGD_RESPCODE == "0000"){
|
||||||
|
$payReqMap['LGD_AUTHONLYKEY'] = isset($_POST['LGD_AUTHONLYKEY']) ? $_POST['LGD_AUTHONLYKEY'] : '';
|
||||||
|
$payReqMap['LGD_PAYTYPE'] = isset($_POST['LGD_PAYTYPE']) ? $_POST['LGD_PAYTYPE'] : '';
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
echo "LGD_RESPCODE:" + $LGD_RESPCODE + " ,LGD_RESPMSG:" + $LGD_RESPMSG; //인증 실패에 대한 처리 로직 추가
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<form method="post" name="LGD_RETURNINFO" id="LGD_RETURNINFO">
|
||||||
|
<?php
|
||||||
|
foreach ($payReqMap as $key => $value) {
|
||||||
|
echo "<input type='hidden' name='$key' id='$key' value='$value'>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -372,8 +372,11 @@ abstract class BaseFacebook
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$response_params = json_decode($access_token_response, true);
|
||||||
|
/*
|
||||||
$response_params = array();
|
$response_params = array();
|
||||||
parse_str($access_token_response, $response_params);
|
parse_str($access_token_response, $response_params);
|
||||||
|
*/
|
||||||
|
|
||||||
if (!isset($response_params['access_token'])) {
|
if (!isset($response_params['access_token'])) {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@ -15,6 +15,10 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if( ! class_exists('PHPUnit_Framework_TestCase') ){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
class PHPSDKTestCase extends PHPUnit_Framework_TestCase {
|
class PHPSDKTestCase extends PHPUnit_Framework_TestCase {
|
||||||
const APP_ID = '117743971608120';
|
const APP_ID = '117743971608120';
|
||||||
const SECRET = '9c8ea2071859659bea1246d33a9207cf';
|
const SECRET = '9c8ea2071859659bea1246d33a9207cf';
|
||||||
|
|||||||
@ -60,7 +60,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
|||||||
if($config['cf_cert_use']) {
|
if($config['cf_cert_use']) {
|
||||||
if($config['cf_cert_ipin'])
|
if($config['cf_cert_ipin'])
|
||||||
echo '<button type="button" id="win_ipin_cert" class="btn_frmline">아이핀 본인확인</button>'.PHP_EOL;
|
echo '<button type="button" id="win_ipin_cert" class="btn_frmline">아이핀 본인확인</button>'.PHP_EOL;
|
||||||
if($config['cf_cert_hp'] && $config['cf_cert_hp'] != 'lg')
|
if($config['cf_cert_hp'])
|
||||||
echo '<button type="button" id="win_hp_cert" class="btn_frmline">휴대폰 본인확인</button>'.PHP_EOL;
|
echo '<button type="button" id="win_hp_cert" class="btn_frmline">휴대폰 본인확인</button>'.PHP_EOL;
|
||||||
|
|
||||||
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>'.PHP_EOL;
|
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>'.PHP_EOL;
|
||||||
@ -288,6 +288,10 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
|||||||
$cert_url = G5_KCPCERT_URL.'/kcpcert_form.php';
|
$cert_url = G5_KCPCERT_URL.'/kcpcert_form.php';
|
||||||
$cert_type = 'kcp-hp';
|
$cert_type = 'kcp-hp';
|
||||||
break;
|
break;
|
||||||
|
case 'lg':
|
||||||
|
$cert_url = G5_LGXPAY_URL.'/AuthOnlyReq.php';
|
||||||
|
$cert_type = 'lg-hp';
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
|
echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
|
||||||
echo 'return false;';
|
echo 'return false;';
|
||||||
|
|||||||
Reference in New Issue
Block a user