首页 >> 下载中心 >> Asp源码 >> asp 无组件语音验证码 下载

asp 无组件语音验证码 下载

作者:荆棘鸟 来源:踏网无痕 时间:2008-5-13 网友评论条 【

无组件实现的。其实原来注册hotmail邮箱,发现语音验证码之后就一直想做一个,刚才在无忧脚本发现一个发布语音验证码的,不过他的存在问题(那个语音的纯粹就是玩具了,已经失去了验证码的作用,因为它生成的播放列表直接泄漏了验证码,别人如果要攻击他,可以直接获得验证码),勾起了我的兴趣,索性我也写了一个。

演示:http://www.aspxhome.com/.../374813/yuyin-code.asp

也可以叫无组件语音验证码了,因为只用到了内置的对象(adodb.stream)。

其实也就是用adodb.stream将事先准备好的mp3二进制流组合起来返回给客户端,没什么神秘的。

提供下载的里面有4组低编码率的mp3,数字从中随机选取(4位的验证码音频大小也不过1.5k左右,很小的,几乎不会对网络造成什么压力,音质我感觉还可以)。可以自己制作。

#2008-3-13 更新:改写了部分代码,支持firefox和opera了。感谢帅哥小锋帮忙

部分代码:

<%
Function merge(Num)
Dim A,B,C,D
If IsNumeric(Num) And Len(Num)=4 Then
A=mid(Session("SafeCode"),1,1)
B=mid(Session("SafeCode"),2,1)
C=mid(Session("SafeCode"),3,1)
D=mid(Session("SafeCode"),4,1)
Else
Exit Function
End If
Dim Data1,Data2,Data3,data4
Randomize
Set S1=Server.CreateObject("Adodb.stream")
Set S2=Server.CreateObject("Adodb.stream")
Set S3=Server.CreateObject("Adodb.stream")
Set S4=Server.CreateObject("Adodb.stream")
S1.mode = 3
S1.type = 1
S1.open
S2.mode = 3
S2.type = 1
S2.open
S3.mode = 3
S3.type = 1
S3.open
S4.mode = 3
S4.type = 1
S4.open
S1.LoadFromFile(server.mappath("voice/"&Int(rnd*4+1)&"_"&A&".mp3"))
Data1=S1.Read
S2.LoadFromFile(server.mappath("voice/"&Int(rnd*4+1)&"_"&B&".mp3"))
Data2=S2.Read()
S3.LoadFromFile(server.mappath("voice/"&Int(rnd*4+1)&"_"&C&".mp3"))
Data3=S3.Read()
S4.LoadFromFile(server.mappath("voice/"&Int(rnd*4+1)&"_"&D&".mp3"))
Data4=S4.Read()
S1.close
S2.close
S3.close
S4.close
Set S1=Nothing
Set S2=Nothing
Set S3=Nothing
Set S4=Nothing
Response.AddHeader "Content-Length", Clng(lenb(Data1)+lenb(Data2)+lenb(Data3)+lenb(Data4))
Response.CharSet = "UTF-8"
Response.ContentType = "audio/mpeg"
Response.BinaryWrite Data1
Response.BinaryWrite Data2
Response.BinaryWrite Data3
Response.BinaryWrite Data4
Response.Flush
End Function
merge Session("SafeCode")
%>

源代码下载:

官方下载点: yuyin.rar (20.29 K)

中国asp之家下载语音验证码.rar(23KB)

推荐:ASP无组件汉字验证码

站长工具
Google 趋势查询:
相关文章
loading 请稍等,评论加载中...

Aspxhome.com. 中国Asp之家. 版权所有

闽ICP备06017341号