File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
07-28
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package egovframework.com.cmm.captcha;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import nl.captcha.Captcha;
import nl.captcha.audio.AudioCaptcha;
import nl.captcha.audio.producer.VoiceProducer;
import nl.captcha.servlet.CaptchaServletUtil;
public class AudioCaptCha {
public void getAudioCaptCha(HttpServletRequest req, HttpServletResponse resp, String answer) throws IOException
{
HttpSession session = req.getSession();
Captcha captcha = (Captcha) session.getAttribute(Captcha.NAME);
String getAnswer = answer;
AudioCaptcha audiocaptcha = null;
if ( getAnswer == null || "".equals(getAnswer) ) getAnswer = captcha.getAnswer();
String lan = req.getParameter("lan");
if( lan != null && "kor".equals(lan)) {
VoiceProducer vProd = new SetKorVoiceProducer(); //한글 음성을 생성해주는 객체 생성
audiocaptcha = new AudioCaptcha.Builder()
.addAnswer(new SetTextProducer(getAnswer))
.addVoice(vProd) //한글음성생성기를 AudioCaptcha에 적용
.addNoise()
.build();
} else {
audiocaptcha = new AudioCaptcha.Builder()
.addAnswer(new SetTextProducer(getAnswer))
.addNoise()
.build();
}
String agent = req.getParameter("agent"); //브라우저마다 응답을 달리해야할경우 이용.
CaptchaServletUtil.writeAudio(resp, audiocaptcha.getChallenge());
}
}