2013-07-30 2 views
0

reCAPTCHA에 대한 JavaScript 및 PHP 유효성 검사를 작성하고 싶습니다. 제 PHP에서는 아래 기능이 있지만 작동하지 않습니다. 내가 잘못 reCAPTCHA 코드를 입력하면 그것은 errror 메시지를 반환하지 않습니다reCAPTCHA의 유효성 검사 방법

function invalid($inputname,$error_message) 
{ 
    $this->js.='if (!invalid(formname.'.$inputname.',"'.$error_message.'")) return false;'; 
    if (isset($_POST[$inputname]) && strlen($_POST[$inputname]) - strlen(str_replace(' ','',$_POST[$inputname])) > $limit && $_POST[$inputname] != "") 
    { 
     $this -> error_message .= $error_message.'<br>'; 
    } 
} 

하는 난 그냥 내가 함께했던 것처럼 폼의 상단에 메시지를 에코 할 메시지를 에코하지 않으려는 내 다른 유효성 검사를 사용하여 :

누군가가 나를 PHP와 자바 스크립트에서 올바르게하는 방법을 보여줄 수 있습니까?

감사

+0

어떻게 reCAPTCHA의 유효성을 검사합니까? –

+0

@ 대각 나는 그것에 대한 구글 튜토리얼을 사용하지만 그 중 하나에서 그것은 단지 메시지를 에코 – Jessica

답변

-3

strlen($_POST[$inputname]) - strlen(str_replace(' ','',$_POST[$inputname])) > $limit 

잘못된 것입니다, $ 제한을 가정하는 것은 6. 같은 단지

strlen(str_replace(' ','',$_POST[$inputname])) > $limit 

이의는 보안 문자는 "바나나"라고하자 수 있어야한다. strlen("bananas") - strlen("bananas") == 0.

추가 captcha를 다른 곳에서 코드에 영향을 미칠 수있는 올바른 경우는 undefined를 반환합니다 있도록 자바 스크립트, 어느 시점에 false를 반환하지 않습니다 (사용중인 경우 특히 ===).

+0

그게 PHP에서 작동합니다. 나는 자바 스크립트를 위해 무엇을했는지 보여주기 위해 내 질문을 업데이트했다. 너는 나에게 고마워해라. – Jessica

+0

그의 코드 수정 PHP를 위해 일했던 그래서 제발 드롭 투표를 벗으. – Jessica

+0

감사합니다 @AlexRuso. 나는 JS에 관한 나의 대답에 덧붙였다. –

2

the reCAPTCHA documentation을 읽으십시오. 솔루션을 확인하기 위해 recaptcha_check_answer() 함수 (reCAPTCHA PHP 라이브러리의 일부)를 올바르게 사용하는 방법을 명확하게 설명합니다.

관련 문제