Font font = new System Drawing Font( Arial (System Drawing FontStyle Bold | System Drawing FontStyle Italic)) System Drawing Drawing D LinearGradientBrush brush = new System Drawing Drawing D LinearGradientBrush(new Rectangle( image Width image Height) Color Blue Color DarkRed f true) g DrawString(checkCode font brush ) //画图片的前景噪音点 for(int i= i<i++) { int x = random Next(image Width) int y = random Next(image Height) image SetPixel(x y Color FromArgb(random Next())) } //画图片的边框线 g DrawRectangle(new Pen(Color Silver) image Width image Height ) System IO MemoryStream ms = new System IO MemoryStream() image Save(ms System Drawing Imaging ImageFormat Gif) Response ClearContent() Response ContentType = image/Gif Response BinaryWrite(ms ToArray()) } finally { g Dispose() image Dispose() } } } 在你要显示验证码的窗体中添加一个image控件 并命名为imgCheckCode 用于显示验证码 再添加一个lable 并命名为lblMessage 用于显示错误信息 然后在该窗体的Page_Load中添加 this imgCheckCode ImageUrl = checkCode aspx 在登录页面的登录按钮的处理事件中使用以下代码判断验证码 private void btnLogin_Click(object sender System Web UI ImageClickEventArgs e) { if(Request Cookies[ checkCode ] == null) { lblMessage Text = 您的浏览器设置已被禁用 Cookies 您必须设置浏览器允许使用 Cookies 选项后才能使用本系统 lblMessage Visible = true return } if(String Compare(Request Cookies[ checkCode ] Value txtCheckCode Text true) != ) { lblMessage Text = 验证码错误 请输入正确的验证码 lblMessage Visible = true return } } 这样就能实现你所要的验证码验证了 lishixinzhi/Article/program/net/201311/13119
验证码:<input name="passcode" type="text" id="passcode" size="4">
<img src="code.asp">
code.asp源码见附件
下载一个code.asp页面,要不给你发个然后在页面里面适当地方加入
<li><label>验证码:<input name="code" id="codestr" type="text" size="10" maxlength="4" onFocus="this.className='input_onFocus'" onBlur="this.className='input_onBlur'" /><img id="ob_codeimg" src="code.asp" style="cursor:handvertical-align:top" onclick="this.src='code.asp?t='+ Math.random()" alt="看不清?点一下" />
需要验证的时候:
request.form("code") 获取表单用户填写的code
session("code") 'code.asp生成的验证码 -- 建议打开code.asp文件确认session命名?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)