验证码的编写 asp.net
2009-07-13 18:23
204 查看
记得有次面试的时候,一位面试管问过这个问题,我就说了下原理。之前一直没有时间去实现这个东东。今天终于有时间了,就写了一下。希望对各位有用.在这里面有种处理图片的技术,因为微软目前自己也没有写成一个方法或者控件什么的, 把二进制的图片数据读出放进 Image 图片控件中。而我的处理方式就是 专门写个页面用来读二进制数据,用
Response.BinaryWrite(ms.ToArray()) 方法直接写到页面。然后再在另一个页面的 Imageurl 的地址就写成上个页面的地址, 把上面的整个页面也当作图片来处理。 和大家分享一下原码:
创建验证码页面:CreateCode.aspx
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Drawing;
public partial class _Default : System.Web.UI.Page
在 checkcode.aspx 页面中调用 (关键一点就是 : Image.ImageUrl =" CreateCode.aspx ")
protected void btnLogin_Click(object sender, EventArgs e)
{
if (Request.Cookies["CheckCode"] == null)
{
lblMessage.Text = "您的浏览器设置已被禁用 Cookies,您必须设置浏览器允许使用 Cookies 选项后才能使用本系统。";
lblMessage.Visible = true;
return;
}
if (String.Compare(Request.Cookies["CheckCode"].Value, txtCheckCode.Text, true) != 0)
{
lblMessage.Text = "验证码错误,请输入正确的验证码。";
lblMessage.Visible = true;
return;
}
else
{
lblMessage.Visible = false;
lblMessage.Text="验证成功!";
}
}
不过有个问题,就是,要是不对的话,整个页面都会刷新,要使它不刷新的话,该怎么弄呢, 用 ajax ? 还有其他的方法吗?
希望各位指点。
Response.BinaryWrite(ms.ToArray()) 方法直接写到页面。然后再在另一个页面的 Imageurl 的地址就写成上个页面的地址, 把上面的整个页面也当作图片来处理。 和大家分享一下原码:
创建验证码页面:CreateCode.aspx
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Drawing;
public partial class _Default : System.Web.UI.Page
在 checkcode.aspx 页面中调用 (关键一点就是 : Image.ImageUrl =" CreateCode.aspx ")
protected void btnLogin_Click(object sender, EventArgs e)
{
if (Request.Cookies["CheckCode"] == null)
{
lblMessage.Text = "您的浏览器设置已被禁用 Cookies,您必须设置浏览器允许使用 Cookies 选项后才能使用本系统。";
lblMessage.Visible = true;
return;
}
if (String.Compare(Request.Cookies["CheckCode"].Value, txtCheckCode.Text, true) != 0)
{
lblMessage.Text = "验证码错误,请输入正确的验证码。";
lblMessage.Visible = true;
return;
}
else
{
lblMessage.Visible = false;
lblMessage.Text="验证成功!";
}
}
不过有个问题,就是,要是不对的话,整个页面都会刷新,要使它不刷新的话,该怎么弄呢, 用 ajax ? 还有其他的方法吗?
希望各位指点。
相关文章推荐
- Asp.net验证码
- ASP.NET MVC 网站开发总结(五)——Ajax异步提交表单之检查验证码
- ASP.NET网页验证码常用方法
- asp.net 验证码生成和刷新及验证
- ASP.NET生成n位不同的验证码
- ASP.NET验证码控件--WebValidates
- ASP.NET验证码(3种)
- ASP.NET C# 验证码 支持中文 噪点 弯曲
- ASP.net验证码控件(附源代码)
- ASP.NET结合XML编写计数器
- [代码]为ASP.NET网页编写嵌入式代码
- 用80386汇编来编写asp.net页面。
- asp.net验证码程序代码
- [asp.net]网站数据安全之验证码
- 在ASP.NET下实现数字和字符相混合的验证码
- asp.net验证码生成
- ASP.NET 生成随机验证码
- ASP.NET在实际开发中验证码的用法
- ASP.NET MVC验证码演示
- 在ASP.NET下实现数字和字符相混合的验证码