asp经典验证码
发布时间:2020-12-17 08:01:21 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 asp验证码代码 (带刷新)asp验证码代码 (带刷新) 将以下代码放到一个单独的页面checkcode.asp % Option Explicit Response.buffer=true Call Com_Creat
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 asp验证码代码 (带刷新) asp验证码代码 (带刷新) 将以下代码放到一个单独的页面checkcode.asp <% Option Explicit Response.buffer=true Call Com_CreatValidCode("validateCode") Sub Com_CreatValidCode(pSN) ' 禁止缓存 Response.Expires = -9999 Response.AddHeader "Pragma","no-cache" Response.AddHeader "cache-ctrol","no-cache" Response.ContentType = "Image/BMP" Randomize Dim i,ii,iii Const cOdds = 2 ' 杂点出现的机率 Const cAmount = 10 ' 文字数量 Const cCode = "0123456789" ' 颜色的数据(字符,背景) Dim vColorData(1) vColorData(0) = ChrB(0) & ChrB(0) & ChrB(211) ' 蓝0,绿0,红0(黑色) vColorData(1) = ChrB(255) & ChrB(255) & ChrB(255) ' 蓝250,绿236,红211(浅蓝色) ' 随机产生字符 Dim vCode(4),vCodes For i = 0 To 3 vCode(i) = Int(Rnd * cAmount) vCodes = vCodes & Mid(cCode,vCode(i) + 1,1) Next Session(pSN) = vCodes '记录入Session ' 字符的数据 Dim vNumberData(9) vNumberData(0) = "1110000222220111101111011110111101001011110100101111010010111101001011110111101111011110111 110000111" vNumberData(1) = "1111022222110002222211110222221111022222111102222211110222221111022222111102222211110222221 100000111" vNumberData(2) = "1110000222220111101111011110222221111022222111022222111022222111022222111022222111011110111 100000011" vNumberData(3) = "1110000222220111101111011110222221110222221100222222222202222222222011110111101111011110111 110000111" vNumberData(4) = "2222202222211110222221110022222110102222210110222221011022222100000022222110222221111022222 111000011" vNumberData(5) = "1100000011110222221111022222111101000222220011102222211110222221111011110111101111011110111 110000111" vNumberData(6) = "1111000222221011101111022222111102222211110100022222001110111101111011110111101111011110111 110000111" vNumberData(7) = "1100000011110111022222011102222211102222211110222221110222221111022222111102222211110222221 111022222" vNumberData(8) = "1110000222220111101111011110111101111022222000022222101102222201111011110111101111011110111 110000111" vNumberData(9) = "1110002222210111022222011110111101111011110111002222200010222221111022222111101111011101111 110001111" ' 输出图像文件头 Response.BinaryWrite ChrB(66) & ChrB(77) & ChrB(230) & ChrB(4) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) &_ ChrB(0) & ChrB(0) & ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) &_ ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(10) & ChrB(0) &_ ChrB(0) & ChrB(0) & ChrB(1) & ChrB(0) ' 输出图像信息头 Response.BinaryWrite ChrB(24) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(176) & ChrB(4) &_ ChrB(0) & ChrB(0) & ChrB(18) & ChrB(11) & ChrB(0) & ChrB(0) & ChrB(18) & ChrB(11) &_ ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) &_ ChrB(0) & ChrB(0) For i = 9 To 0 Step -1 ' 历经所有行 For ii = 0 To 3 ' 历经所有字 For iii = 1 To 10 ' 历经所有像素 ' 逐行、逐字、逐像素地输出图像数据 If Rnd * 99 + 1 < cOdds Then ' 随机生成杂点 Response.BinaryWrite vColorData(0) Else Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)),i * 10 + iii,1)) End If Next Next Next End Sub %> 需要用得页面用如下方式引用: 验证码: <input name="txt_check" type="text" size=6 maxlength=4 class="input"> <img src="checkcode.asp " alt="验证码,看不清楚?请点击刷新验证码" height="10" style="cursor : pointer;" onClick="this.src='checkcode.asp?t='+(new Date().getTime());" > 判断页面: <% if trim(session("validateCode")) <> trim(Request("txt_check")) then ErrorMessage = "请输入正确的验证码" response.write(" <script>alert('"&ErrorMessage&"');location.href='Default.asp' </script>") response.end end if %> 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |