충돌 부분 수정

This commit is contained in:
thisgun
2017-09-07 10:45:19 +09:00
14 changed files with 325 additions and 58 deletions

View File

@ -1,5 +1,7 @@
<?php
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>
@ -14,7 +16,7 @@ if (!defined('_GNUBOARD_')) exit;
<footer id="ft">
<p>
Copyright &copy; <?php echo $_SERVER['HTTP_HOST']; ?>. All rights reserved.<br>
Copyright &copy; <?php echo $_SERVER['HTTP_HOST']; ?>. All rights reserved. <?php echo $print_version; ?><br>
<a href="#">상단으로</a>
</p>
</footer>

View File

@ -159,6 +159,28 @@ function frm_install_submit(f)
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) {
alert('최고관리자 회원 ID는 첫자는 반드시 영문자 그리고 영문자와 숫자로만 만드셔야 합니다.');

View File

@ -12,16 +12,26 @@ header('Pragma: no-cache'); // HTTP/1.0
include_once ('../config.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";
include_once ('./install.inc.php');
//print_r($_POST); exit;
$mysql_host = $_POST['mysql_host'];
$mysql_user = $_POST['mysql_user'];
$mysql_pass = $_POST['mysql_pass'];
$mysql_db = $_POST['mysql_db'];
$table_prefix= $_POST['table_prefix'];
$mysql_host = safe_install_string_check($_POST['mysql_host']);
$mysql_user = safe_install_string_check($_POST['mysql_user']);
$mysql_pass = safe_install_string_check($_POST['mysql_pass']);
$mysql_db = safe_install_string_check($_POST['mysql_db']);
$table_prefix= safe_install_string_check($_POST['table_prefix']);
$admin_id = $_POST['admin_id'];
$admin_pass = $_POST['admin_pass'];
$admin_name = $_POST['admin_name'];

View File

@ -22,10 +22,14 @@ function certify_win_open(type, url)
if($("#kcp_cert").size() < 1) {
$frm.wrap('<div id="cert_info"></div>');
$("#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>');
$("#cert_info").append('<form name="form_temp" method="post">');
} 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;
temp_form.target = "kcp_cert";
temp_form.action = url;
@ -51,9 +55,37 @@ function certify_win_open(type, url)
}
else if(type == 'lg-hp')
{
var popupWindow = window.open( url, "auth_popup", "left=200, top=100, width=400, height=400, scrollbar=yes" );
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();
}
}
}
// 인증체크

View File

@ -459,6 +459,7 @@ var win_zip = function(frm_name, frm_zip, frm_addr1, frm_addr2, frm_addr3, frm_j
onresize : function(size) {
element_wrap.style.height = size.height + "px";
},
maxSuggestItems : g5_is_mobile ? 6 : 10,
width : '100%',
height : '100%'
}).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를 안보이게 한다.
element_layer.style.display = 'none';
},
maxSuggestItems : g5_is_mobile ? 6 : 10,
width : '100%',
height : '100%'
}).embed(element_layer);

View File

@ -2666,7 +2666,10 @@ if (!function_exists("get_sock")) {
$fp = fsockopen ($host, 80, $errno, $errstr, 30);
if (!$fp)
{
die("$errstr ($errno)\n");
//die("$errstr ($errno)\n");
echo "$errstr ($errno)\n";
return null;
}
else
{
@ -3003,15 +3006,32 @@ function check_url_host($url, $msg='', $return_url=G5_URL)
$p = @parse_url($url);
$host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST']);
$is_host_check = false;
if(stripos($url, 'http:') !== false) {
if(!isset($p['scheme']) || !$p['scheme'] || !isset($p['host']) || !$p['host'])
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'] != $host) {
if ( ($p['host'] != $host) || $is_host_check ) {
echo '<script>'.PHP_EOL;
echo 'alert("url에 타 도메인을 지정할 수 없습니다.");'.PHP_EOL;
echo 'document.location.href = "'.$return_url.'";'.PHP_EOL;

View File

@ -60,7 +60,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
if($config['cf_cert_use']) {
if($config['cf_cert_ipin'])
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 '<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_type = 'kcp-hp';
break;
case 'lg':
$cert_url = G5_LGXPAY_URL.'/AuthOnlyReq.php';
$cert_type = 'lg-hp';
break;
default:
echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
echo 'return false;';

View File

@ -173,7 +173,14 @@ if( $cert_enc_use == "Y" )
else if( $cert_enc_use != "Y" )
{
// 암호화 인증 안함
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;
}

View File

@ -19,10 +19,10 @@ $CST_MID = 'si_'.$config['cf_lg_mid']; // 상점아이
//테스트 아이디는 't'를 반드시 제외하고 입력하세요.
$LGD_MID = (('test' == $CST_PLATFORM) ? 't':'').$CST_MID; //상점아이디(자동생성)
$LGD_BUYER = '홍길동'; // 성명 (보안을 위해 DB난 세션에서 가져오세요)
$LGD_BUYERSSN = '0000000000000'; // 주민등록번호 (보안을 위해 DB나 세션에서 가져오세요)
$LGD_BUYERSSN = '000000'; // 주민등록번호 (보안을 위해 DB나 세션에서 가져오세요)
// 휴대폰 본인인증을 사용할 경우 주민번호는 '0' 13자리를 넘기세요. 예)0000000000000
// 기타 인증도 사용할 경우 실 주민등록번호 (보안을 위해 DB나 세션에 저장처리 권장)
$LGD_MOBILE_SUBAUTH_SITECD = ''; // 신용평가사에서 부여받은 회원사 고유 코드
$LGD_MOBILE_SUBAUTH_SITECD = '123456789abc'; // 신용평가사에서 부여받은 회원사 고유 코드
// (CI값만 필요한 경우 옵션, DI값도 필요한 경우 필수)
$LGD_TIMESTAMP = date('YmdHis'); // 타임스탬프 (YYYYMMDDhhmmss)
$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_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>
<!-- 고객사 사이트가 https인 경우는 아래 http://을 https:// 으로 변경하시면 됩니다. -->
<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>
function do_Authonly() {
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");
//alert("인증요청을 합니다.");
document.getElementById("LGD_PAYINFO").submit();
} else {
alert(dpop.getData("LGD_RESPMSG"));
<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 type="text/javascript">
/*
* 수정불가.
*/
var LGD_window_type = "<?php echo $LGD_WINDOW_TYPE;?>";
var lgd_form = "LGD_PAYINFO";
/*
* 수정불가.
*/
function launchCrossPlatform(){
<?php if( G5_IS_MOBILE ){ //모바일이면 ?>
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 } ?>
}
} else {
alert("LG유플러스 본인확인서비스를 위한 ActiveX 설치 실패\nInternet Explorer 외의 브라우저에서는 사용할 수 없습니다.");
//window.close();
/*
* 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>
<style>
#uplus_win {}
.up_cmt {text-align:center; font-size:14px;}
@ -92,22 +160,15 @@ function do_Authonly() {
</style>
</head>
<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; ?>" />
<input type="hidden" name="LGD_MID" id="LGD_MID" value="<?php echo $LGD_MID; ?>"/>
<input type="hidden" name="CST_PLATFORM" id="CST_PLATFORM" value="<?php echo $CST_PLATFORM; ?>"/>
<input type="hidden" name="LGD_BUYERSSN" value="<?php echo $LGD_BUYERSSN; ?>"/>
<input type="hidden" name="LGD_BUYER" value="<?php echo $LGD_BUYER; ?>"/>
<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 method="post" name ="LGD_PAYINFO" id="LGD_PAYINFO" action="<?php echo G5_LGXPAY_URL; ?>/AuthOnlyRes.php">
<input type="hidden" name="LGD_ENCODING" value="UTF-8"/>
<?php
foreach ($payReqMap as $key => $value) {
echo "<input type='hidden' name='$key' id='$key' value='$value'/>".PHP_EOL;
}
?>
</form>
<div id="uplus_win" class="new_win mbskin">
@ -123,7 +184,7 @@ function do_Authonly() {
</div>
</div>
<script>
setTimeout("do_Authonly();",300);
setTimeout("launchCrossPlatform();", 1);
</script>
</body>
</html>

View File

@ -66,6 +66,7 @@ include_once(G5_PATH.'/head.sub.php');
*/
if ($xpay->TX()) {
//1)인증결과 화면처리(성공,실패 결과 처리를 하시기 바랍니다.)
/*
echo "인증요청이 완료되었습니다. <br>";
echo "TX Response_code = " . $xpay->Response_Code() . "<br>";
@ -76,7 +77,7 @@ if ($xpay->TX()) {
echo $name . " = " . $xpay->Response($name, 0) . "<br>";
}
echo "<p>";
echo "</p>";
*/
// 인증내역기록
@ -156,7 +157,15 @@ if ($xpay->TX()) {
//인증요청 결과 실패 DB처리
//echo "인증요청 결과 실패 DB처리하시기 바랍니다.<br>";
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;
}
} else {
@ -170,14 +179,31 @@ if ($xpay->TX()) {
echo "인증요청 결과 실패 DB처리하시기 바랍니다.<br>";
*/
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;
}
?>
<script>
$(function() {
jQuery(function($) {
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; ?>");
@ -185,6 +211,11 @@ $(function() {
$opener.$("input[name=mb_hp]").val("<?php echo $phone_no; ?>").attr("readonly", true);
$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("본인의 휴대폰번호로 확인 되었습니다.");
window.close();
});

View 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>

View File

@ -372,8 +372,11 @@ abstract class BaseFacebook
return false;
}
$response_params = json_decode($access_token_response, true);
/*
$response_params = array();
parse_str($access_token_response, $response_params);
*/
if (!isset($response_params['access_token'])) {
return false;

View File

@ -15,6 +15,10 @@
* under the License.
*/
if( ! class_exists('PHPUnit_Framework_TestCase') ){
return;
}
class PHPSDKTestCase extends PHPUnit_Framework_TestCase {
const APP_ID = '117743971608120';
const SECRET = '9c8ea2071859659bea1246d33a9207cf';

View File

@ -60,7 +60,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
if($config['cf_cert_use']) {
if($config['cf_cert_ipin'])
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 '<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_type = 'kcp-hp';
break;
case 'lg':
$cert_url = G5_LGXPAY_URL.'/AuthOnlyReq.php';
$cert_type = 'lg-hp';
break;
default:
echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
echo 'return false;';