테스트 사이트 - 개발 중인 베타 버전입니다

kcp 결제금액 위변조 방지 소스 적용 문의드립니다

· 13년 전 · 24 · 1
이미 구축한 쇼핑몰에 kcp 결제금액 위변조방지 소스 적용,

어떻게 해야하나요?

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

shop/settle_kcp.inc.php 에서

/*
* hashdata 암호화 (수정하지 마세요)
*
* hashdata 암호화 적용( site_cd + ordr_idxx + good_mny + timestamp + site_key )
* site_cd : 사이트코드
* ordr_idxx : 주문번호
* good_mny : 결제금액
* timestamp : 타임스탬프
* site_key : 사이트키
*
* hashdata 검증을 위한
* KCP에서 발급한 사이트키(site_key)를 반드시 입력해 주시기 바랍니다.
*/

$site_cd = trim($default['de_kcp_mid']);
$ordr_idxx = trim($od['od_id']);
$good_mny = (int)$settle_amount;
$timestamp = $g4['server_time'];
$serverkey = $_SERVER['SERVER_SOFTWARE'].$_SERVER['SERVER_ADDR']; // 사용자가 알수 없는 고유한 값들
//echo $serverkey;
$hashdata = md5($site_cd.$ordr_idxx.$good_mny.$timestamp.$serverkey);
...
<input type=hidden name='hashdata' value='<?=$hashdata?>'>


shop/kcp/pp_ax_hub.php 에서


// 결제금액을 조작하여 넘어오는 경우에는 pp_cli 실행전에 에러를 출력한다. 그러므로 에러 출력시 결제는 되지 않는다.
$site_cd = $_POST['site_cd'];
$timestamp = $_POST['timestamp'];
$serverkey = $_SERVER['SERVER_SOFTWARE'].$_SERVER['SERVER_ADDR']; // 사용자가 알수 없는 고유한 값들
$hashdata = $_POST['hashdata']; // 넘어온값
$hashdata2 = md5($site_cd.$ordr_idxx.$good_mny.$timestamp.$serverkey);
if ($hashdata !== $hashdata2)
die("DATA Error!!!");


이 코드가 추가 되었습니다.


또한, 영카트는 결제금액의 전부가 결제되지 않으면 전액 결제가 된것으로 처리하지 않고 미수금 처리를 하고 있습니다.

게시글 목록

번호 제목
56073
56067
56065
56060
56058
56055
56051
56048
56044
56043
56042
56039
56035
56032
56030
56028
56025
56018
56012
56010