영카트5 - 리눅스 환경에서 NHN KCP 결제 로그 디렉토리 설정방법 정보
영카트5 - 리눅스 환경에서 NHN KCP 결제 로그 디렉토리 설정방법- 편리
- 조회 948,349
- 댓글 0
![](http://sir.kr/data/member_image/ch/chicpro.gif?1380459398)
첨부파일
본문
NHN KCP 결제 로그는 반드시 필요한 것은 아니지만 개발과정 또는 결제 오류 등을 확인하기 위해서 필요한 경우가 있습니다. 이럴 경우에 리눅스 환경에서 NHN KCP 로그 디렉토리 생성 방법입니다.
로그 디렉토리는 웹브라우저를 통해 접근이 불가능한 경로에 생성되어야 합니다.
* 이 내용과 관련된 코드는 영카트 5.1.9 버전에서 수정 반영됐습니다.
먼저 로그 생성을 위한 코드가 올바른지 확인해 보겠습니다.
shop/settle_kcp.inc.php 에서 $g_conf_log_dir 설정값을 확인해 봅니다.
$g_conf_home_dir = G5_SHOP_PATH.'/kcp';
$g_conf_key_dir = '';
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
{
$g_conf_log_dir = G5_SHOP_PATH.'/kcp/log';
$g_conf_key_dir = G5_SHOP_PATH.'/kcp/bin/pub.key';
}
코드가 위와 같다면 아래와 같이 수정합니다.
$g_conf_home_dir = G5_SHOP_PATH.'/kcp';
$g_conf_key_dir = '';
/*=======================================================================
KCP 결제처리 로그파일 생성을 위한 로그 디렉토리 절대 경로를 지정합니다.
로그 파일의 경로는 웹에서 접근할 수 없는 경로를 지정해 주십시오.
영카트5의 config.php 파일이 존재하는 경로가 /home/youngcart5/www 라면
로그 디렉토리는 /home/youngcart5/log 등으로 지정하셔야 합니다.
로그 디렉토리에 쓰기 권한이 있어야 로그 파일이 생성됩니다.
=======================================================================*/
$g_conf_log_dir = '/home100/kcp'; // 존재하지 않는 경로를 입력하여 로그 파일 생성되지 않도록 함.
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
{
$g_conf_key_dir = G5_SHOP_PATH.'/kcp/bin/pub.key';
}
위의 과정은 PC 쇼핑몰의 코드 수정입니다. 마찬가지로 모바일 쇼핑몰의 코드도 수정해야 합니다.
mobile/shop/settle_kcp.inc.php 파일의 코드를 확인합니다.
$g_conf_key_dir = '';
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
{
$g_conf_log_dir = G5_SHOP_PATH.'/kcp/log';
$g_conf_key_dir = G5_SHOP_PATH.'/kcp/bin/pub.key';
}
코드가 위와 같다면 아래의 코드로 수정합니다.
$g_conf_key_dir = '';
/*=======================================================================
KCP 결제처리 로그파일 생성을 위한 로그 디렉토리 절대 경로를 지정합니다.
로그 파일의 경로는 웹에서 접근할 수 없는 경로를 지정해 주십시오.
영카트5의 config.php 파일이 존재하는 경로가 /home/youngcart5/www 라면
로그 디렉토리는 /home/youngcart5/log 등으로 지정하셔야 합니다.
로그 디렉토리에 쓰기 권한이 있어야 로그 파일이 생성됩니다.
=======================================================================*/
$g_conf_log_dir = '/home100/kcp'; // 존재하지 않는 경로를 입력하여 로그 파일 생성되지 않도록 함.
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
{
$g_conf_key_dir = G5_SHOP_PATH.'/kcp/bin/pub.key';
}
위와 같이 코드를 수정하셨다면 log 디렉토리를 생성합니다.
이미지와 같이 영카트5가 /home/manual/www 디렉토리 안에 설치되어 있다고 가정합니다.
이때 log 디렉토리는 www 디렉토리의 하위 디렉토리여서는 안됩니다. www 안에 위치하는 경우
웹브라우저를 통해 접근이 가능하여 악의적인 목적을 가진 누군가에 의해 정보가 유출될 수 있습니다.
log 디렉토리는 웹으로 접근이 불가능한 경로여야 하며 아래와 같이 www 와 동일한 위치에 있거나
또는 /home/kcp/log 등과 같이 전혀 별개의 경로를 가져야 합니다.
log 디렉토리를 웹에서 접근이 불가능한 경로에 생성하셨다면 아래와 같이 쓰기 권한을 부여해 주셔야 합니다.
다음으로 shop/kcp/pp_ax_hub_lib.php 파일의 217 라인 근처의 코드를 확인합니다.
"enc_data=" . $this->m_encx_data . "," .
"enc_info=" . $this->m_encx_info . "," .
"trace_no=" . $trace_no . "," .
"cust_ip=" . $cust_ip . "," .
"log_level=" . $log_level . "," .
"opt=" . $opt . "" );
코드가 위와 같다면 아래의 코드로 수정합니다.
"enc_data=" . $this->m_encx_data . "," .
"enc_info=" . $this->m_encx_info . "," .
"trace_no=" . $trace_no . "," .
"cust_ip=" . $cust_ip . "," .
"log_path=" . $log_dir . "," .
"log_level=" . $log_level . "," .
"opt=" . $opt . "" );
"enc_data=" . $this->m_encx_data . "," .
"enc_info=" . $this->m_encx_info . "," .
"trace_no=" . $trace_no . "," .
"cust_ip=" . $cust_ip . "," .
"log_level=" . $log_level . "," .
"opt=" . $opt . "" );
"enc_data=" . $this->m_encx_data . "," .
"enc_info=" . $this->m_encx_info . "," .
"trace_no=" . $trace_no . "," .
"cust_ip=" . $cust_ip . "," .
"log_path=" . $log_dir . "," .
"log_level=" . $log_level . "," .
"opt=" . $opt . "" );
/* -------------------------------------------------------------------- */
/* - FUNC : 지불 처리 함수 - */
/* -------------------------------------------------------------------- */
function mf_do_tx( $trace_no, $home_dir, $site_cd,
$site_key, $tx_cd, $pub_key_str,
$pa_url, $pa_port, $user_agent,
$ordr_idxx, $cust_ip,
$log_level, $opt, $mode,
$key_dir, $log_dir)
{
$c_PayPlus->mf_do_tx( $trace_no, $g_conf_home_dir, $g_conf_site_cd, $g_conf_site_key, $tran_cd, "",
$g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib", $ordr_idxx,
$cust_ip, "3" , 0, 0, $g_conf_key_dir, $g_conf_log_dir); // 응답 전문 처리
100레벨 이상 댓글을 남길 수 있습니다.