2011-05-02 4 views
0

우리는 우리의 등록 양식의 보안 문자를 만드는 SimpleCaptcha http://simplecaptcha.sourceforge.net/을 사용하고 사용자 정의 SimpleCaptcha

우리가 사용하는 보안 문자 생성 (톰캣에서 실행) :

Captcha captcha = new Captcha.Builder(300, 57).build(); 

을 다음과 같이 보안 문자가 표시됩니다 enter image description here

그러나 Captcha captcha = new Captcha.Builder(300, 57).addNoise().build();과 같은 captcha에 옵션을 추가하면 노이즈가없는 동일한 방식으로 계속 표시됩니다. 나는 더 많은 옵션을 시도했지만 여전히 같은 결과를 얻는다.

왜 이런 일이 일어나는지 알고 있습니까?

감사합니다,

커트

답변

1

나는 (자바 1.6 버전) 위의 코드를 시도하고 아무것도 생산하지 않습니다. 이유는 .addText()가 없기 때문입니다. (나는 이것을 주석으로 썼을 것이지만 그것에 대한 충분한 평판이 없다). 이것은 위의 코드가 실제 코드가 아니라 게시 할 때 뭔가 잊어 버린 것임을 나에게 암시합니다. 소음을 보여 않습니다() 단지 .build 전에()

public class MyCaptchaServlet extends SimpleCaptchaServlet 
{ 
    @Override 
    public void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException 
    { 
     Captcha captcha = new Captcha.Builder(120,40).addText().addBorder().gimp().addBackground(new GradiatedBackgroundProducer()).build(); 

     CaptchaServletUtil.writeImage(response, captcha.getImage()); 

     request.getSession().setAttribute(Captcha.NAME, captcha); 
    } 
} 

.addNoise 추가 :

는 여기가 작동하는 그 무엇을 사용합니다.

관련 문제