쇼핑 카트는 때때로 만드는을 위한 판매$0...제를 해결하는 방법?

StackOverflow https://stackoverflow.com/questions/666187

  •  21-08-2019
  •  | 
  •  

문제

나는 사전을 사용하여 만든 쇼핑 카트,나는 프로그래밍합니다.그것은 완벽하게 작동합 99%의 시간이 있지만,대마다 몇 개월의 주문을 통$0.할 수 없습니다.I 테스트 구매와 동일한 상품과 동일한 정보를 얻을 수 없을 수$0 습니다.나는 확실하지 않는 방법에 대해 이동하는 문제 해결이,나는 사항을 말하지는 않지 명예를 잘못된 가격으로.클라이언트가 원하는 이를 중지 일어나고 있지만.내가 사용하 PHP 을 이 모든 것을 수행할 수 있습니다.이후 나는 없는 것을 중복하기 위하여 occurnace 나 자신을 나는 열심히 찾을 얻게 하단의 문제입니다.할 수 있는 사람이 제공하는 방법에 대한 조언이 이 문제를 해결?

감사합니다!

도움이 되었습니까?

해결책

궁극적으로, 이것이 왜 이런 일이 일어나고 있는지 알아 내고 싶을 것입니다. 당신의 코드를 보지 않고, 나는 당신을 정말로 많이 도울 수 없습니다. 그러나 단기적으로 결제 과정이 끝날 때 정신 점검을 추가하지 않겠습니까?

if ( $final_price < 1 ) {
    do_epic_fail(); // Show an error, whatever.
}

다른 팁

광범위한 주문 로깅을 사용하여 시작했습니다. 모든 클릭, 모든 입력, 모든 SQL 쿼리. 그런 다음 다시 발생하면 그 순서의 로그를 통해 무슨 일이 있었는지 확인하십시오.

봄에 떠오르는 몇 가지 가능성이 있습니다. 하나는 쿼리에 일시적 오류가있어 항목 총계를 가져옵니다. 쿼리가 실패하면 기본값이 0.00으로 불과합니다. 예를 들어, 수량에 대해 -1을 입력하거나 'ABC'와 같은 텍스트를 넣을 때 발생합니다.

또는 사용자가 필드 중 하나에 뭔가 잘못된 내용을 넣으면 가격에 대한 값이 0 인 SQL 주입 문제가있을 수 있습니다.

그것이 무엇이든 올바른 벌목으로 밝혀 질 것입니다.

사이트에 URL이 있습니까?

그렇지 않으면 사용자가 전달한 데이터가 사용자가 재정의 할 수있는 가격 (예 : 숨겨진 필드 또는 매개 변수)을 결정하도록 허용하는 어딘가에만 추측 할 수 있습니다.

제품의 ID를 서버 사이드 코드에 전달하고 서버의 가격을 곱하십시오 * 주문 수량 *. (예 : 사용자 입력을 신뢰하지 않음)

귀하의 코드에 의존하$_SESSION data?는 경우에는 사용자를 매우 오랜 시간이,몇 가지 필요한 데이터 수 있습 만료하지만,체크 아웃할 수 있습도 진행합니다.

으로 다른 사람이 말했다,그것은 어려운을 더 언급없이 소스 코드입니다.

클라이언트 측에서 금액 세부 정보를 지불 게이트웨이 (Hidden Form Fields)에 게시하고 있습니까? 그렇다면 웹 개발자 등과 같은 브라우저 툴바를 사용하여 쉽게 재정의 할 수 있습니다.

항상 서버 측에서 결제 세부 정보를 게시하십시오.

최종 가격이 0 인 경우 주문을 다시 확인하여 실제로 항목이 포함되어 있는지 확인하십시오. 무료 품목이나 특별 프로모션이 진행되는 경우 0 명을 주문할 수 있습니다. 아마도 이것이가는 길입니다.

이것은 당신의 출처를 보지 않고 대답하기 어려운 질문입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top