File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package egovframework.com.cmm.captcha;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import nl.captcha.Captcha;
import nl.captcha.audio.AudioCaptcha;
import nl.captcha.audio.producer.VoiceProducer;
import nl.captcha.backgrounds.GradiatedBackgroundProducer;
import nl.captcha.servlet.CaptchaServletUtil;
import nl.captcha.text.producer.NumbersAnswerProducer;
public class CaptchaUtil {
public CaptchaUtil() {
}
public void captchaImg(HttpServletRequest request, HttpServletResponse response){
Captcha captcha = new Captcha.Builder(200, 60)
.addText(new NumbersAnswerProducer(6))
.addNoise().addNoise().addNoise()
.addBackground(new GradiatedBackgroundProducer())
.addBorder()
.build();
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Max-Age", 0);
response.setContentType("image/png");
CaptchaServletUtil.writeImage(response, captcha.getImage());;
request.getSession().setAttribute("captcha", captcha.getAnswer());
}
public void captchaAudio(HttpServletRequest request, HttpServletResponse response){
String getAnswer = (String) request.getSession().getAttribute("captcha");
VoiceProducer vProd = new SetKorVoiceProducer(); //한글 음성을 생성해주는 객체 생성
/* AudioCaptcha ac = new AudioCaptcha.Builder()
.addAnswer(new SetTextProducer(getAnswer))
.addVoice()
.addNoise()
.build();*/
AudioCaptcha ac = new AudioCaptcha.Builder()
.addAnswer(new SetTextProducer(getAnswer))
.addVoice(vProd)
.addNoise()
.build() ;
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Max-Age", 0);
CaptchaServletUtil.writeAudio(response, ac.getChallenge());;
request.getSession().setAttribute("captcha", ac.getAnswer());
}
}