登录表单加验证码能有效拦截大部分机器提交。图片验证码实现较重,经典 ASP 里可以先从文本验证码做起:生成随机码写入 Session,提交页面做比对,思路与图片验证码完全一致。
完整代码(生成页)
<%@ Language="VBScript" CodePage=65001 %>
<%
Option Explicit
Randomize
Dim code, i
code = ""
For i = 1 To 4
Rem 0-9 数字验证码
code = code & Chr(48 + Int(Rnd * 10))
Next
Session("captcha_code") = code
Response.Write "本次验证码:" & code
%>完整代码(校验逻辑)
<%
If LCase(Request("vcode")) = LCase(Session("captcha_code")) Then
Response.Write "验证通过"
Else
Response.Write "验证码错误或已过期"
End If
%>使用说明
- 生成页每次访问都会刷新 Session 值,配合刷新按钮即可做到一码一用;
- 比对用 LCase 统一小写,避免用户输入大小写带来的误判;
- 正式项目建议 Session 里同时存过期时间,超过 60 秒强制失效。
小结
文本验证码先跑通校验链路,之后把数字随机串换成随机字符并绘制到图片上,即可平滑升级为图形验证码。
评论(0)
暂无评论,快来抢沙发吧~