2014-03-19 2 views
0

내 asp.net 응용 프로그램에서 botdetect captcha를 구현했습니다. 그러나 페이지에서 포스트 백이 발생할 때마다 보안 문자가 변경됩니다. 어떻게 변경되지 않도록 할 수 있습니까?BotDetect captcha에서 captcha의 자동 변경을 방지하는 방법은 무엇입니까?

Asax 페이지 :

<botDetect:Captcha ID="bdCaptcha" runat="server" /> 

.CS 페이지 :

protected void Page_PreRender(object sender, EventArgs e) 
     { 
      if (!Page.IsPostBack) 
      { 
       bdCaptcha.UserInputClientID = txtCaptchaInput.ClientID; 
      } 
     } 

내가이를 수있는 방법.

답변

0

수 없습니다. 왜 안되는지 (1) 그리고 내가해야한다고 생각하는 것 (2)을 작성하겠습니다 :

(1) BotDetect Captcha는 보안을 위해 보안 문자 코드 당 하나의 유효성 검사 시도 만 허용합니다.

Captcha를 해결하는 데 여러 번 재 시도가 가능하다면 Captcha 보안이 크게 저하 될 것입니다. 왜냐하면 봇은 최종적으로 올바른 코드 값이 될 때까지 다른 코드 값을 사용할 수 있기 때문입니다. 또한 Captcha를 우회하는 OCR 기술을 사용하는 봇을 작성하는 것이 훨씬 쉽습니다. 예를 들어 이미지의 다섯 자리 숫자 중 두 자리를 인식 할 수 있다면 남은 세 개를 무작위로 강제해야합니다.

따라서 유효성 검사 시도가 실패한 경우 (클라이언트 측 또는 서버 측) 항상 현재 보안 문자 코드가 무효화됩니다. 서버 측 유효성 검사를 성공적으로 수행하면 코드가 제거되므로 누군가 Captcha를 하나만 해결 한 다음 여러 제출을 위해 재사용하는 경우를 방지 할 수 있습니다.

(2) 웹 폼의 다른 (비 captcha) 필드에서 실패한 유효성 검사를 문제가 발생한 것으로 생각합니다. 그런 시나리오에서 Captcha를 두 번 풀면 방문자를 고문하는 것을 피하고 싶습니다.

우리는 완전히 동의하지만 Captcha 동작을 변경하지 않고 해결되면 Captcha를 완전히 제거 할 수 있습니다. 다음은 자세한 내용을 찾을 수있는 곳입니다. http://captcha.com/doc/aspnet/faq/captcha-validation-security-faq.html#validation-repeat

희망이 있습니다. 난 그냥 내가 보안 문자로 인해 직면 한 문제를 해결하기 위해이 질문을 같이

마리오, 보안 문자 Inc.는

+0

사실 나는이 작업을 수행하지 않습니다. –

+0

Captcha Inc에서 말씀 드렸듯이 InProc 세션을 사용하지 않을 때 세션 ID로 인해 Captcha 이미지가 잘못 표시되고 Chrome 및 Firefox 브라우저에서 Captcha 사운드가 올바르게 표시됩니다 (다른 이유 일 수 있음). –

관련 문제