2013-07-23 2 views
0

다음과 같이 reCaptcha를 MVC 프로젝트에 구현하고 있습니다.첫 단어가 맞으면 reCaptcha가 유효합니다.

[HttpPost] 
    [ValidateAntiForgeryToken] 
    [RecaptchaControlMvc.CaptchaValidatorAttribute] 
    public ActionResult Index(IndexTemp indextemp, bool captchaValid) 
    { 
     if (!captchaValid) 
     { 
      ModelState.AddModelError("", "You did not type the verification word correctly. Please try again."); 
     } 

     if (ModelState.IsValid) 
     { 
      // do stuff here 
     } 
    } 

그리고 Web.config에는 다음과 같은 것들이 있습니다.

<add key="ReCaptchaPrivateKey" value="some_key"/> 
<add key="ReCaptchaPublicKey" value="another_key"/> 

나는 here에서 reCaptcha를 얻었습니다.

reCaptcha가 항상 예상대로 작동하지 않는 것으로 나타났습니다. 입력 한 단어가 유효하지 않은 경우 유효성을 검사하는 경우가 있습니다. 약간의 시험 후에 나는 당신이 첫 단어를 올바르게 입력하는 한 그것이 항상 유효하다는 것을 알아 차렸다!

아이디어가 있으십니까?

+0

'비트 검사'는 얼마입니까? 내 생각 엔 샘플 데이터가 너무 작습니다. 또한 기능의 의도는 인간과 봇을 구별하는 것임을 기억하십시오. 효과적으로 해독하기 위해 텍스트를 해독하는 데 100 %의 정확성이 필요하지 않습니다. –

+0

제 3 자에게 질문을해야하는 제 3 자 응용 프로그램/플러그인에 관한 질문하기. https://code.google.com/p/recaptcha/issues/list –

+0

을 참조하십시오. 2016 년에이 기사를 읽는 사용자는 아직까지도 여전히 문제가됩니다. Recaptcha는 한 단어가 정확하더라도 유효성을 검사합니다. – itoctopus

답변

2

이 답변이 도움이 되었습니까 : reCAPTCHA authenticates as valid even for two incorrect words reCAPTCHA를 위키에서

:

reCAPTCHA를 두 단어로 구성하십시오 검증 단어의 reCAPTCHA를 서버가 답을 알고하고 단어를 읽을 수있는 상태 오래된 책에서 나온다. 읽기 단어는 등급이 매겨지지 않습니다 (서버가 사람 추측을 사용하여 답변을 파악하기 때문에). 이와 같이이 단어는 잘못 입력 될 수 있으며 보안 문자는 계속 유효합니다. 각 읽기 단어가 여러 사람에게 보내 지므로 잘못된 솔루션은 reCAPTCHA의 출력에 영향을주지 않습니다.

확인 단어에서 reCAPTCHA는 사용자가 솔루션을 제공함을 신뢰하는 정도에 따라 의도적으로 "하나씩 벗어남"오류를 허용합니다. 이렇게하면 보안에 영향을주지 않고 사용자 경험이 향상됩니다. reCAPTCHA 엔지니어는이 기능을 악용 모니터링합니다.

관련 문제