session, DB 사용 에서 > 퍼블리셔팁

퍼블리셔팁

퍼블리싱과 관련된 유용한 정보를 공유하세요.
질문은 상단의 QA에서 해주시기 바랍니다.

session, DB 사용 에서 정보

HTML session, DB 사용 에서

본문

pg 사 연동을 하고있는데요
아래부분을 db에서 불러와서 사용하라고하는데  완전 초보라 잘 모르겠네요 
답변 꼭 부탁드립니다.
$at_amt=0;  //결제 금액을 다시 계산해서 만들어야 함(해킹방지)
                  //( session, DB 사용 )<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]</div>
추천
0
  • 복사

댓글 3개

간단하게 말씀드리면 인위적(악의적) 변조 가망이 있을때를 대비하라는 말입니다.

(편의상 소수점 자리나 기타 다 생략하고...)

A 상품 가격이 1000 원이라하고 10개 주문하면 10000 원 입니다.

많은 방법이 있겠지만 result 페이지에 GET 내지 POST 로 값을 받게 되면 이를 위조하여 가격을 변조할수 있기 때문에 주문시에 주문 수량 및 단가를 DB에 저장하고 그 값을 다시 DB에서 읽어서 재 계산을 하는게 안전하다고 말하는 겁니다.

원가 백만원짜리를 1000개 주문했다 (합계 금액 은 ㅎㄷㄷㄷ 하죠;;

그냥 단순하게
ex) qty=1000&price=1000000 이렇게 넘긴다고 생각하면
직빵으로 -_-;; 금액 끝장나겠죠 인위로 저값 변조해서 넘겨버리면 ㅎㄷㄷ한 사태가 생기겠죠.

그래서 해결 방법중에 하나로
상품코드 : qqq1 이라 하고
상품갯수 : 1000 이라 하면

그걸 세션이라든지 DB에 담아두는 겁니다. (서버쪽에서 작업을 하게 되니 그마나 안전하게 되죠)
담길정보는 대충  -> 상품코드 qqq1 / 상품갯수 : 1000  / 상품코드 qqq1 의 단가 를 저장해서
추후 결제하는 부분에 가서 다시 이 정보를 가져 오는겁니다.

사용자가 손댈수 있는 부분은 일단 눈에 보이는 방법으로는 코드 + 갯수 부분뿐이니 그나마 금액상으로는 안전해 지겠죠.

나머지는 아래 분꼐서 설명해 주실겁니다 ^^
요즘은 보통 주문시에 정보를 임의의 테이블로 저장했다가 계속 물고 가는 방식을 취하긴 하더라구요
이전엔 Post로 값을 죽죽 넘겨서 사용했었는데 그럴경우 중년님의 말씀처럼 해킹의 우려가 있기 때문에
결재가 완전히 완료되는 시점까지 계속 틀정 테이블에 값을 저장해서
계속 불러서 사용하는걸 추천드립니다.
© SIRSOFT
현재 페이지 제일 처음으로