千家信息网

如何进行网站验证码制作

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章给大家介绍如何进行网站验证码制作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。asp.net验证码制作using System;using System.IO;using
千家信息网最后更新 2025年11月08日如何进行网站验证码制作

这篇文章给大家介绍如何进行网站验证码制作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

asp.net验证码制作

using System;

using System.IO;

using System.Drawing;

using System.Drawing.Imaging;

using System.Text;

using System.Collections;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

namespace WebApplication1

{

public partial class yzm : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

string chkCode = string.Empty;

//颜色列表,用于验证码、噪线、噪点

Color[] color ={ Color.Black, Color.Red, Color.Blue, Color.Green, Color.Orange, Color.Brown, Color.Brown, Color.DarkBlue };

//字体列表,用于验证码

string[] font ={ "Times New Roman", "MS Mincho", "Book Antiqua", "Gungsuh", "PMingLiU", "Impact" };

//验证码的字符集,去掉了一些容易混淆的字符

char[] character ={ '2', '3', '4', '5', '6', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', 'T', 'W', 'X', 'Y' };

Random rnd = new Random();

//生成验证码字符串

for (int i = 0; i < 4; i++)

{

chkCode += character[rnd.Next(character.Length)];

}

//用session对象存储验证码

Session["name"] = chkCode;

Bitmap bmp = new Bitmap(100, 40);

Graphics g = Graphics.FromImage(bmp);

g.Clear(Color.White);

//画噪线

for (int i = 0; i < 10; i++)

{

int x1 = rnd.Next(100);

int y1 = rnd.Next(40);

int x2 = rnd.Next(100);

int y2 = rnd.Next(40);

Color clr = color[rnd.Next(color.Length)];

g.DrawLine(new Pen(clr), x1, y1, x2, y2);

}

//画验证码字符串

for (int i = 0; i < chkCode.Length; i++)

{

string fnt = font[rnd.Next(font.Length)];

Font ft = new Font(fnt, 18);

Color clr = color[rnd.Next(color.Length)];

g.DrawString(chkCode[i].ToString(), ft, new SolidBrush(clr), (float)i * 20 + 8, (float)8);

}

//画噪点

for (int i = 0; i < 100; i++)

{

int x = rnd.Next(bmp.Width);

int y = rnd.Next(bmp.Height);

Color clr = color[rnd.Next(color.Length)];

bmp.SetPixel(x, y, clr);

}

//清除该页输出缓存,设置该页无缓存

Response.Buffer = true;

Response.ExpiresAbsolute = System.DateTime.Now.AddMilliseconds(0);

Response.Expires = 0;

Response.CacheControl = "no-cache";

Response.AppendHeader("Pragma", "No-Cache");

//将验证码图片写入内存流,并将其以 "p_w_picpath/Png" 格式输出

MemoryStream ms = new MemoryStream();

try

{

bmp.Save(ms, ImageFormat.Png);

Response.ClearContent();

Response.ContentType = "p_w_picpath/Png";

Response.BinaryWrite(ms.ToArray());

}

finally

{

//显式释放资源

bmp.Dispose();

g.Dispose();

}

}

}

}

关于如何进行网站验证码制作就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

验证 字符 制作 网站 内容 字符串 更多 缓存 帮助 输出 不错 兴趣 内存 图片 字体 字符集 对象 小伙 小伙伴 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库对象的集合是什么 软件开发笔记本电脑配置推荐 长沙凌厉网络技术有限公司 江西服务器租用江西电信域名 创建数据库和表的方法都有哪些 sql 导入数据库 昆山海普斯互联网科技有限公司 济南利博网络技术 应用服务器有什么缺点 合肥领航网络技术有限公司 网络安全描述不正确的是 软件开发费用测算表 打印机服务器配置标准 常德互联网科技园招聘信息 数据库两个表联合查询例题 个人征信数据库接口 传奇6个区服务器下面好多引擎 方舟找不到自己的服务器了怎么办 网页和数据库的安全 山西通信软件开发应用 合成网络技术公司 数据库显示xml验证失败 数据库归档日志怎么清理 漳州租车软件开发 大专生网络技术怎么提升 删除数据库表唯一索引语句 计算机网络安全什么意思 手机版地球都市服务器 诺亚传说服务器人数 开源数据库的商业版
0