2011-08-11 7 views
0

2 개의 SELECT 태그에서 값을 가져오고 마지막으로 두 값을 가져 와서 곱하는 자바 스크립트가 있습니다.데이터 유효성 검사 - jQuery/Ajax (PHP)

스크립트는 다음과 같습니다 : 당신이 볼 수 있듯이

<script type="text/javascript" charset="utf-8"> 
    function displayVals() { 
    var exposureValue = $("#mark").val(); 
    if(exposureValue == 1){ 
     exposureValue = <?php echo $sdata['ad_cost_micro']; ?>; 
    } 
    if(exposureValue == 2){ 
     exposureValue = <?php echo $sdata['ad_cost_mini']; ?>; 
    } 
    if(exposureValue == 3){ 
     exposureValue = <?php echo $sdata['ad_cost_standard']; ?>; 
    } 
    if(exposureValue == 4){ 
     exposureValue = <?php echo $sdata['ad_cost_extended']; ?>; 
    } 
    var clickValue = $("#series").val(); 
    var totalValue = exposureValue*clickValue; 
    $("#price").html("<span style='font-size:22px;color:#3A8913;text-align:center;font-weight:bold;'>$" + totalValue + "</span>"); 

    jQuery('#p').val(exposureValue*clickValue); 

    } 

    $("select").change(displayVals); 
     displayVals();  
     </script> 

의에서 totalValue는 ID = "P"와 숨겨진 INPUT에 추가됩니다.

내 질문은입니다. id = "p"의 값을 어떻게 확보 할 수 있습니까? 그래서 INJECTION을 수행하거나 게시 데이터 또는 다른 것을 변경할 수 없습니다.

감사합니다.

+0

서버 측에서 유효성을 검사하십시오. 클라이언트 측 유효성 검사에만 전적으로 의존하지 마십시오. –

+0

또한 답변을 더 받아야 할 수도 있습니다. 이 질문의 코드는 내가 어제 당신에게 준 대답에서 왔으며, 아직 받아 들여지지 않았습니다. –

+0

그게 무슨 질문 이었습니까? 나는 그것을 찾을 수없는 것 같습니다. –

답변

0

id = "p"의 값을 어떻게 확보 할 수 있습니까? 그래서 INJECTION을 수행하거나 게시 데이터 또는 다른 것을 변경할 수 없습니다.

수 없습니다. 클라이언트 측에서 항상 데이터를 변경할 수 있습니다.

게시 된 값의 의미를 확인하는 등의 조작에 대해 서버 측 논리를 보호해야합니다.

+0

그러나 양식을 페이지에 제출하기 전에 어떻게 유효성을 검사 할 수 있습니까? –

+0

@Oliver 왜 제출하기 전에 유효성을 검사해야합니까? 클라이언트 측 유효성 검사를 사용하면 사용자가 실수를하지 않도록 할 때 유용하지만 어쨌든 클라이언트 측에서 악성 주입을 막을 수는 없습니다. –

+0

음, 사용자는 가격을 선택합니다 (가격은 위의 스크립트에서 받음). 가격을 선택하면 "지금 구입"을 클릭합니다. 그러면 AlertPay/PayPal로 리디렉션됩니다. 그들은 쉽게 가격의 데이터를 변경할 수 있습니다. 따라서 데이터를 제출하기 전에 유효성을 검사해야합니다. –