휴대폰인증 처리 파일 인코딩 변경

This commit is contained in:
chicpro
2013-04-09 12:00:04 +09:00
parent ac76b9e503
commit 72c66022b9
2 changed files with 28 additions and 17 deletions

View File

@ -1,8 +1,16 @@
<? <?
include_once('./kcpcert_config.php'); include_once('./kcpcert_config.php');
// UTF-8 ȯ<><EFBFBD><E6BFA1> <20>ؽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ<EFBFBD> // utf-8로 넘어돈 post 값을 euc-kr 로 변경
setlocale(LC_CTYPE, 'ko_KR.euc-kr'); $_POST = array_map("iconv_euckr", $_POST);
// UTF-8 환경에서 해시 데이터 오류를 막기 위한 코드
$def_locale = setlocale(LC_CTYPE, 0);
$locale_change = false;
if(preg_match("/utf[\-]?8/i", $def_locale)) {
setlocale(LC_CTYPE, 'ko_KR.euc-kr');
$locale_change = true;
}
$req_tx = ""; $req_tx = "";
@ -18,16 +26,13 @@ $local_code = "";
$up_hash = ""; $up_hash = "";
/*------------------------------------------------------------------------*/ /*------------------------------------------------------------------------*/
/* :: <EFBFBD><EFBFBD>ü <20>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */ /* :: 전체 파라미터 남기기 */
/*------------------------------------------------------------------------*/ /*------------------------------------------------------------------------*/
$ct_cert = new C_CT_CLI; $ct_cert = new C_CT_CLI;
$ct_cert->mf_clear(); $ct_cert->mf_clear();
// utf-8<><38> <20>Ѿ post <20><><EFBFBD><EFBFBD> euc-kr <20><> <20><><EFBFBD><EFBFBD> // request 로 넘어온 값 처리
$_POST = array_map("iconv_euckr", $_POST);
// request <20><> <20>Ѿ<EFBFBD><D1BE><EFBFBD> <20><> ó<><C3B3>
$key = array_keys($_POST); $key = array_keys($_POST);
$sbParam =""; $sbParam ="";
@ -81,16 +86,16 @@ for($i=0; $i<count($key); $i++)
$local_code = f_get_parm_str ( $valParam ); $local_code = f_get_parm_str ( $valParam );
} }
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>â<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ѱ<EFBFBD><D1B1><EFBFBD> form <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʵ<EFBFBD> // 인증창으로 넘기는 form 데이터 생성 필드
$sbParam .= "<input type='hidden' name='" . $nmParam . "' value='" . f_get_parm_str( $valParam ) . "'/>"; $sbParam .= "<input type='hidden' name='" . $nmParam . "' value='" . f_get_parm_str( $valParam ) . "'/>";
} }
if ( $req_tx == "cert" ) if ( $req_tx == "cert" )
{ {
// !!up_hash <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> // !!up_hash 데이터 생성시 주의 사항
// year , month , day <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> "00" , "00" , "00" <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˴ϴ<CBB4> // year , month , day 가 비어 있는 경우 "00" , "00" , "00" 으로 설정이 됩니다
// <EFBFBD>׿<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ""(null) <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻø<CFBD> <20>˴ϴ<CBB4>. // 그외의 값은 없을 경우 ""(null) 로 세팅하시면 됩니다.
// up_hash <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> site_cd <EFBFBD><EFBFBD> ordr_idxx <EFBFBD><EFBFBD> <20>ʼ<EFBFBD> <20><><EFBFBD>Դϴ<D4B4>. // up_hash 데이터 생성시 site_cd ordr_idxx 는 필수 값입니다.
$hash_data = $site_cd . $hash_data = $site_cd .
$ordr_idxx . $ordr_idxx .
$user_name . $user_name .
@ -102,7 +107,7 @@ if ( $req_tx == "cert" )
$up_hash = $ct_cert->make_hash_data( $home_dir, $hash_data ); $up_hash = $ct_cert->make_hash_data( $home_dir, $hash_data );
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>â<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ѱ<EFBFBD><D1B1><EFBFBD> form <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʵ<EFBFBD> ( up_hash ) // 인증창으로 넘기는 form 데이터 생성 필드 ( up_hash )
$sbParam .= "<input type='hidden' name='up_hash' value='" . $up_hash . "'/>"; $sbParam .= "<input type='hidden' name='up_hash' value='" . $up_hash . "'/>";
} }
@ -119,10 +124,10 @@ $ct_cert->mf_clear();
{ {
var frm = document.form_auth; var frm = document.form_auth;
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>û <20><> ȣ<><C8A3> <20>Լ<EFBFBD> // 인증 요청 시 호출 함수
if ( frm.req_tx.value == "cert" ) if ( frm.req_tx.value == "cert" )
{ {
opener.document.form_auth.veri_up_hash.value = frm.up_hash.value; // up_hash <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʵ<EFBFBD> opener.document.form_auth.veri_up_hash.value = frm.up_hash.value; // up_hash 데이터 검증을 위한 필드
frm.action="<?=$cert_url?>"; frm.action="<?=$cert_url?>";
frm.submit(); frm.submit();
@ -135,4 +140,9 @@ $ct_cert->mf_clear();
<?= $sbParam ?> <?= $sbParam ?>
</form> </form>
</body> </body>
</html> </html>
<?
if($locale_change)
setlocale(LC_CTYPE, $def_locale);
?>

View File

@ -159,7 +159,8 @@ $ct_cert->mf_clear();
$(function() { $(function() {
var $opener = window.opener; var $opener = window.opener;
// 인증번호 // 인증정보
$opener.$("input[name=mb_hp]").val("<?=$phone_no?>");
$opener.$("input[name=kcpcert_no]").val("<?=$md5_cert_no?>"); $opener.$("input[name=kcpcert_no]").val("<?=$md5_cert_no?>");
$opener.$("input[name=kcpcert_time]").val("<?=G4_TIME_YMDHIS?>"); $opener.$("input[name=kcpcert_time]").val("<?=G4_TIME_YMDHIS?>");
window.close(); window.close();