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

장바구니 & 주문 데이터 암호화

· 1개월 전 · 207 · 2

기본적으로 영카트의 장바구니(g5_shop_cart)와 주문(g5_shop_order) 테이블에는 가격, 수량 같은 민감 데이터가 그대로 저장됨. 악의적인 사용자가 네트워크 구간을 가로채거나 브라우저 개발자 도구를 조작하면 가격 변조 시도가 가능함. 이를 막으려면 장바구니에 담을 때 **서명값(해시 토큰)**을 생성해서 함께 저장하고, 주문 단계에서 이 토큰을 다시 검증하는 방식이 효과적임. 예시는 다음과 같음.

 

// 장바구니 담을 때 (cartupdate.php)
$token = hash_hmac('sha256', $it_id.$ct_price.$ct_qty, G5_SECRET_KEY);
sql_query("INSERT INTO {$g5['g5_shop_cart_table']} 
(it_id, ct_price, ct_qty, ct_token) 
VALUES ('$it_id', '$ct_price', '$ct_qty', '$token')");
 

// 주문 단계 검증 (orderformupdate.php)
$row = sql_fetch("SELECT * FROM {$g5['g5_shop_cart_table']} WHERE it_id='$it_id'");
$check = hash_hmac('sha256', $row['it_id'].$row['ct_price'].$row['ct_qty'], G5_SECRET_KEY);
if($check !== $row['ct_token']) {
    alert("데이터 위변조가 감지되었습니다.");
    exit;
}
 

이렇게 하면 사용자가 가격이나 수량을 변조해도 해시 토큰 검증 단계에서 차단되므로 보안성과 신뢰도가 크게 올라감.

댓글 작성

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

로그인하기

댓글 2개

1개월 전

이거는 따로 제안 게시판에 요청하면 어떨까요? ㅎㅎ

감사합니다^^

게시글 목록

번호 제목
1634
1632
1631
1630
1629
1625
1608
1595
1578
1571
1567
1561
1560
1558
1555
1554
1553
1552
1551
1547
1538
1531
1527
1523
1522
1512
1511
1506
1503
1489