2014-11-02 2 views
-3

Ajax로 captcha를 확인하려고 할 때 문제가 있습니다! 양식새로 고침없이 ajax를 사용하여 captcha를 확인하는 방법

<img src="captcha.php" width="100px"/> 
<input size="20" id="rand" type="text" name="rand"> 

JS

$("#rand").keyup(function() { 
var rand = $("#rand").val(); 
if(rand != rand2) 
{ 
     $("#rand").removeClass('object_error'); // if necessary 
     $("#rand").addClass("object_ok"); 
     $("#status5").html('<img src="tick.gif" align="absmiddle">'); 
} 
else 
    { 
    $("#status5").html('<font color="red">Wrong Captcha</font>'); 
    $("#rand").removeClass('object_ok'); // if necessary 
    $("#rand").addClass("object_error"); 
    } 
}); //rand 

어떻게 만들 경우 랜드! = 보안 문자 다른 파일에 보안 문자 동안!

+0

어떤 captcha 서비스 또는 플러그인을 사용하십니까? – PeterKA

+0

여기에 있습니다 Ism3lawy

+0

코드의 긴 세그먼트는 주석에 속하지 않습니다. 누구나 코드를 이해하는 것은 어렵습니다. 귀하의 질문에 업데이트로 게시 할 수 있습니까? – PeterKA

답변

1

클라이언트 측에서 보안 문자 확인을 수행 할 수 없습니다. 검사를 수행 할 서버 측 스크립트가 필요합니다. 그런 다음 ajax을 사용하여 사용자 데이터와 다른 암호화 된 데이터로 서버 측 스크립트를 호출해야 서버 측에서 검증해야합니다.

아약스 호출은 다음과 같이 보일 것입니다 :

$.post('captcha-verifier.php', <user+captcha-data>).done(function(data) { 
    //check 'data' for verification result 
    //decide next step 
}); 

사용자가 같은 그들의 입력을 입력 그들이 완료 한 것으로 표시 할 때이 코드 조각이 트리거있어 이벤트 핸들러에 포함시킬 필요가있다 버튼을 클릭하십시오. 예 :

$(function() { 
    $('.some-button').on('click', function() { 
     //gather data for ajax call if necessary 
     //make ajax call above 
    }); 
}); 
+0

captha는 클라이언트 측에서 수행되어야하며, 그렇지 않으면 사용자는이를 볼 수 없습니다. – dandavis

관련 문제