2011-12-22 3 views
1

내 웹 사이트에서 reCaptcha를 구현하는 데 문제가 있습니다.PHP에서 이상한 reCaptcha 오류

여기에 자습서 (http://code.google.com/apis/recaptcha/docs/php.html)를 따르고 오류 메시지와 함께 기본 reCaptcha 만 구현했습니다. 사용자 유형 잘못된 reCAPTCHA를이 페이지 리디렉션 예상대로 오류가 표시되면

if (!$resp->isValid) { 
     $_SESSION['badLoginCount'] += 1; 
     $_SESSION['incorrect-captcha'] = true; 
     $_SESSION['incorrect-captcha-error'] = $resp->error; 
     header ('Location: ../../signin.php'); 
     exit; 
    } 

: 아래

는 양식에 제출 내가 파일에 사용하는 일부 사용자 지정 코드입니다. 그러나 사용자가 올바른 reCaptcha를 입력하면 isValid는 여전히 FALSE로 평가되고이 분기를 실행하지만 $ resp-> error에는 아무 것도 포함되어 있지 않으므로 디버깅이 거의 불가능합니다.

이전에이 문제가 발생 했습니까? 온라인에서 아무것도 찾을 수 없습니다.

+0

확인 만하면됩니다. recaptcha 함수로 보낸 POST 필드의 내용을 확인 했습니까? – Alfabravo

+0

예, recaptcha_response_field는 입력 한 값을 반환하고 reaptcha_challenge_field는 해시를 반환합니다. – Tom

+0

http://code.google.com/apis/recaptcha/docs/troubleshooting.html "작동하지 않음"을 확인하십시오. 양식 및 키 검토 – Alfabravo

답변

0

신속하고 해킹 된 해결 방법은 $resp->error이 비어 있는지 확인하는 것입니다.

if (!empty($resp->error)) { 
    $_SESSION['badLoginCount'] += 1; 
    $_SESSION['incorrect-captcha'] = true; 
    $_SESSION['incorrect-captcha-error'] = $resp->error; 
    header ('Location: ../../signin.php'); 
    exit; 
}