128 lines
4.4 KiB
PHP
128 lines
4.4 KiB
PHP
<?php
|
|
|
|
//**************************************************************************************************************
|
|
//NICE신용평가정보 Copyright(c) KOREA INFOMATION SERVICE INC. ALL RIGHTS RESERVED
|
|
//
|
|
//서비스명 : 체크플러스 - 본인인증 서비스
|
|
//페이지명 : 체크플러스 - 결과 페이지
|
|
|
|
//보안을 위해 제공해드리는 샘플페이지는 서비스 적용 후 서버에서 삭제해 주시기 바랍니다.
|
|
//**************************************************************************************************************
|
|
|
|
$sitecode = "G3059"; // NICE로부터 부여받은 사이트 코드
|
|
$sitepasswd = "PHVPISZNNE4N"; // NICE로부터 부여받은 사이트 패스워드
|
|
|
|
$cb_encode_path = "/home/barbie/www/module/member/CPClient"; // NICE로부터 받은 암호화 프로그램의 위치 (절대경로+모듈명)
|
|
|
|
//////////////////////////////////////////////// 문자열 점검///////////////////////////////////////////////
|
|
if(preg_match("/[#\&\\+\-%@=\/\\\:;,\.\'\"\^`~\_|\!\/\?\*$#<>()\[\]\{\}]/i", $sitecode, $match)) exit;
|
|
if(preg_match("/[#\&\\+\-%@=\/\\\:;,\.\'\"\^`~\_|\!\/\?\*$#<>()\[\]\{\}]/i", $sitepasswd, $match)) exit;
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
$enc_data = $_POST["EncodeData"]; // 암호화된 결과 데이타
|
|
$sReserved1 = $_POST['param_r1'];
|
|
$sReserved2 = $_POST['param_r2'];
|
|
$sReserved3 = $_POST['param_r3'];
|
|
|
|
if ($enc_data != "") {
|
|
|
|
$plaindata = `$cb_encode_path DEC $sitecode $sitepasswd $enc_data`; // 암호화된 결과 데이터의 복호화
|
|
echo "[plaindata] " . $plaindata . "<br>";
|
|
|
|
if ($plaindata == -1){
|
|
$returnMsg = "암/복호화 시스템 오류";
|
|
}else if ($plaindata == -4){
|
|
$returnMsg = "복호화 처리 오류";
|
|
}else if ($plaindata == -5){
|
|
$returnMsg = "HASH값 불일치 - 복호화 데이터는 리턴됨";
|
|
}else if ($plaindata == -6){
|
|
$returnMsg = "복호화 데이터 오류";
|
|
}else if ($plaindata == -9){
|
|
$returnMsg = "입력값 오류";
|
|
}else if ($plaindata == -12){
|
|
$returnMsg = "사이트 비밀번호 오류";
|
|
}else{
|
|
// 복호화가 정상적일 경우 데이터를 파싱합니다.
|
|
$ciphertime = `$cb_encode_path CTS $sitecode $sitepasswd $enc_data`; // 암호화된 결과 데이터 검증 (복호화한 시간획득)
|
|
|
|
$requestnumber = GetValue($plaindata , "REQ_SEQ");
|
|
$errcode = GetValue($plaindata , "ERR_CODE");
|
|
$authtype = GetValue($plaindata , "AUTH_TYPE");
|
|
}
|
|
}
|
|
?>
|
|
|
|
<?
|
|
function GetValue($str , $name)
|
|
{
|
|
$pos1 = 0; //length의 시작 위치
|
|
$pos2 = 0; //:의 위치
|
|
|
|
while( $pos1 <= strlen($str) )
|
|
{
|
|
$pos2 = strpos( $str , ":" , $pos1);
|
|
$len = substr($str , $pos1 , $pos2 - $pos1);
|
|
$key = substr($str , $pos2 + 1 , $len);
|
|
$pos1 = $pos2 + $len + 1;
|
|
if( $key == $name )
|
|
{
|
|
$pos2 = strpos( $str , ":" , $pos1);
|
|
$len = substr($str , $pos1 , $pos2 - $pos1);
|
|
$value = substr($str , $pos2 + 1 , $len);
|
|
return $value;
|
|
}
|
|
else
|
|
{
|
|
// 다르면 스킵한다.
|
|
$pos2 = strpos( $str , ":" , $pos1);
|
|
$len = substr($str , $pos1 , $pos2 - $pos1);
|
|
$pos1 = $pos2 + $len + 1;
|
|
}
|
|
}
|
|
}
|
|
?>
|
|
<script>
|
|
alert('본인인증에 실패했습니다.');
|
|
self.close();
|
|
</script>
|
|
<!-- <html>
|
|
<head>
|
|
<title>NICE신용평가정보 - CheckPlus 본인인증 테스트</title>
|
|
</head>
|
|
<body>
|
|
<center>
|
|
<p><p><p><p>
|
|
본인인증이 실패하였습니다.<br>
|
|
<table width=500 border=1>
|
|
<tr>
|
|
<td>복호화한 시간</td>
|
|
<td><?= $ciphertime ?> (YYMMDDHHMMSS)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>요청 번호</td>
|
|
<td><?= $requestnumber ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td>본인인증 실패 코드</td>
|
|
<td><?= $errcode ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td>인증수단</td>
|
|
<td><?= $authtype ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td>RESERVED1</td>
|
|
<td><?= $sReserved1 ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td>RESERVED2</td>
|
|
<td><?= $sReserved2 ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td>RESERVED3</td>
|
|
<td><?= $sReserved3 ?></td>
|
|
</tr>
|
|
</table>
|
|
</center>
|
|
</body>
|
|
</html> -->
|