-
최근에는 음성 인증 코드가 점점 더 인기를 얻고 있는 것을 발견했습니다. 예를 들어, MSN 페이지와 일부 외국 웹사이트에도 음성 인증 코드가 있습니다.
시간을 들여 조사한 결과 음성 인증 코드와 일반 인증 코드의 주요 차이점은 인증 코드를 재생하는 방법에 있습니다. 본 글의 음성 인증코드 원리는 다음과 같습니다. 서버에서 인증코드를 생성하고,
그리고 쿠키(getcode.aspx.cs)에 저장하면 인증코드 듣기를 클릭할 때 javascirpt 연산(여기서는 jquery를 사용함)을 호출하여 쿠키에서 인증코드를 읽어옵니다.
그런 다음 인증 코드를 codevoice.aspx 페이지로 전송한 다음 인증 코드를 합성하여 mp3 파일을 생성하고 마지막으로 이 파일을 플래시로 전송하여 재생합니다.
"현재 인증번호는 5678입니다. 입력해주세요."라는 소리가 들립니다. 이 원리는 대부분의 웹사이트에서 사용하는 음성 인증 코드와 유사합니다.
소스 코드 다운로드: 다운로드(열려면 VS2008 SP1 또는 VS2010을 사용하십시오)
페이지에 인증 코드 이미지 페이지 코드를 삽입하세요.
일반 사본을 클립보드 인쇄로 보시겠습니까?
인증코드 듣기 클릭 시 호출되는 js 함수는 다음과 같습니다.
일반 사본을 클립보드 인쇄로 보시겠습니까?
함수 플레이보이스(id) {
var voiceid = document.getElementById(id);
var voicecode = $.cookie('ValidateCode');
voiceid.innerHTML = " FlashVars='isPlay=1&url=codevoice.aspx&code=" + voicecode + "' 너비='0' 높이='0' allowedScriptAccess='always'
ype='application/x-shockwave-flash' 플러그인 페이지='http://www.macromedia.com/go/getflashplayer' />";
}
함수 플레이보이스(id) {
var voiceid = document.getElementById(id);
var voicecode = $.cookie('ValidateCode');
voiceid.innerHTML = " FlashVars='isPlay=1&url=codevoice.aspx&code=" + voicecode + "' 너비='0' 높이='0' allowedScriptAccess='always'
type='application/x-shockwave-flash'pluginspage='http://www.macromedia.com/go/getflashplayer' />";
}
그 중 $.cookie('ValidateCode') 는 쿠키 확인 코드를 읽는 것인데, 여기서는 jquery 쿠키 플러그인을 사용합니다.
mp3 페이지를 생성하는 코드는 다음과 같습니다.
//인증 코드를 읽어 헤더 start.mp3 및 tail end.mp3를 포함하여 mp3를 생성합니다.
일반 사본을 클립보드 인쇄로 보시겠습니까?
Response.ContentType = "오디오/mpeg";
Response.WriteFile("사운드/begin.mp3");
string checkCode = HttpContext.Current.Request.QueryString["code"].ToString();// string checkCode = "8888";
if(checkCode.Length > 0)
for (int i = 0; i < checkCode.Length; i++)
{
Response.WriteFile("사운드/"+checkCode[i] + ".mp3");
}
Response.WriteFile("사운드/end.mp3");
Response.ContentType = "오디오/mpeg";
Response.WriteFile("사운드/begin.mp3");
string checkCode = HttpContext.Current.Request.QueryString["code"].ToString();// string checkCode = "8888";
if(checkCode.Length > 0)
for (int i = 0; i < checkCode.Length; i++)
{
Response.WriteFile("사운드/"+checkCode[i] + ".mp3");
}
Response.WriteFile("사운드/end.mp3");
[이 글의 작성자는 cnblogs, csdn, http://www.ajaxcn.net 에 동시에 게재했습니다. 재인쇄 시 이 점을 유의하시기 바랍니다.]
플래시 재생 코드는 주로 첫 번째 키 프레임에서 마우스 오른쪽 버튼 클릭 동작을 수행합니다. 들어오는 재생 번호 mp3 주소에 따라 다음 코드를 삽입합니다.
일반 사본을 클립보드 인쇄로 보시겠습니까?
var mysound = 새로운 사운드();
var mysong = URL;
var isPlay = 1;
var intnum:Number = setInterval(playSong, 500);
함수 플레이송() {
if (isPlay == 1) {
mysound.loadSound(mysong+"?code="+code, true);
mysound.start();
ClearInterval(intnum);
isPlay = 0;
}