이미 구축한 쇼핑몰에 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!!!");
이 코드가 추가 되었습니다.
또한, 영카트는 결제금액의 전부가 결제되지 않으면 전액 결제가 된것으로 처리하지 않고 미수금 처리를 하고 있습니다.
/*
* 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 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기