2011-03-08 9 views
1

recaptcha API를 사용하면 순수한 JavaScript captcha creating and verifying을 사용할 수 있습니다. 그러나 사용자가 실제로이 방법으로 captcha를 해결했다고 사이트가 어떻게 신뢰할 수 있습니까? 그들은 자바 스크립트를 변경하지 않았다는 것을 어떻게 알 수 있습니까?AJAX recaptcha 요청을 어떻게 신뢰할 수 있습니까?

모든 계산이 사용자에 의해 수행 된 경우 백엔드로서 우리가 보낸 결과를 어떻게 신뢰할 수 있습니까?

예를 들어 새 사용자가 자신이 인간임을 증명해야하는 백엔드 기능 (예 : 활성화 이메일 전송)을 사용한다고 가정 해 보겠습니다. 정상적인 API를 사용하면 백엔드가 reCaptcha를 호출하고 확인할 수 있습니다 (이후 recaptcha를 신뢰할 수 있기 때문에). AJAX 검증을 통해 사용자 에이전트는 기본적으로 "나는 recaptcha를 해결했다. - 나를 믿을 수있다.!" 백엔드에.

내가 누락 된 항목이 있습니까? 워드 프로세서

+1

당신은 그들이 기본적으로''나는 당신이 나를 믿을 수있다! ''라고 말할 수 있기를 바랄 것이다. 그들은 여전히 ​​그것을 해결하고 어떻게 든 아약스를 통해 솔루션을 보내야합니다. – Raynos

답변

1

:

이 솔루션을 확인하려면, 당신은 reCAPTCHA verification API에 위젯에서 두 개의 변수를 전달해야합니다.

그리고 검증 부분을 서버에서 수행해야합니다.

기본적으로 유효성을 검사 할 때 서버에 챌린지와 응답을 보내어 서버에 AJAX 요청을해야합니다.

서버의 스크립트는 reCaptcha로 확인한 다음 그 결과를 다시 웹 페이지에 반환합니다. 백엔드 스크립트는 사용자가 보안 문자 테스트를 통과했음을 나타내는 세션 변수를 저장해야 할 수도 있습니다.

+0

아, 나는 당신이 옳다고 믿습니다. 모든 검증은 사용자가 JavaScript 메소드 *를 사용하여 수행합니다. 하지만 분명히 AJAX recaptcha는 재 테스트를 즉시 보이거나 숨기기위한 것이지 검증하지는 않습니다. – Xeoncross

관련 문제