在线等 怎样实现验证码的判断(要求要有必要的判断代码)

g1y9d861213 2008-12-21 08:06:41
Dim rd As New Random
Dim RdNum As Integer = rd.Next(1000, 9999)
Session("chkCode") = RdNum
Dim newbitmap As New Bitmap(36, 16, Imaging.PixelFormat.Format32bppArgb)
Dim g As Graphics = Graphics.FromImage(newbitmap)
Dim rectangle As New RectangleF(0, 0, 36, 16)
g.FillRectangle(New SolidBrush(Color.BurlyWood), rectangle)
Dim txtfont As New Font("宋体", 10)
g.DrawString(RdNum.ToString, txtfont, New SolidBrush(Color.Blue), rectangle)
newbitmap.Save(Server.MapPath("") & "\test.gif")
这个是我的代码
生成一个四位的随机数 通过图片控件显示随机数
怎样用代码实现验证码的判断过程???
...全文
214 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanlei777 2009-01-07
  • 打赏
  • 举报
回复
cookies或 session保存起来
yingshao419 2008-12-22
  • 打赏
  • 举报
回复
用cookies或 session保存起来,然后判断是否相=
supremeholy 2008-12-22
  • 打赏
  • 举报
回复
lz已放入Session("chkCode")
在登录时加上验证码输入框中的信息与此Session值的判断就可以了。
Riverwcj 2008-12-22
  • 打赏
  • 举报
回复
可以用Compare进行判断。。。
if(String.Compare( Request.Cookies["CheckCode"].Valus,TextBox1.Text.ToUpper(),true!=0))
{
Response.Write("验证码错误!");
}
mengxj85 2008-12-22
  • 打赏
  • 举报
回复
见用Session保存验证码的稍为多些,具体什么用,楼上都已经说了
wszhoho 2008-12-22
  • 打赏
  • 举报
回复
Session("chkCode")取出来,和输入到TextBox里的值比较一下,就这么简单.
zjybushiren88888 2008-12-22
  • 打赏
  • 举报
回复
ToCompar(),帮顶下
lqscoke 2008-12-22
  • 打赏
  • 举报
回复
取出Session中的值和提交的值比一下不就好了吗?
或者把生成的验证码放入页面的隐藏域里面再读出来和输入的进行比(不安全,最好加解密)
brood108 2008-12-22
  • 打赏
  • 举报
回复
首先,你的这样生成验证码的习惯很不好,
因为生成的验证码太简单,任何干扰都没有,
可以很轻易被识别。
网上生成验证码的类有很多,随便搜一个用就比你现在的强。

其次,生成验证码后,对session赋值 如 Session[“img”]="你的验证码";
然后用户输入后,直接比较用户的输入是否和session相等就可以啦
gongsun 2008-12-22
  • 打赏
  • 举报
回复
验证码的代码应该比较多,能用就可以了。
CODE163 2008-12-22
  • 打赏
  • 举报
回复
把生成的随机数写入Session 验证时从Session里读取
g1y9d861213 2008-12-22
  • 打赏
  • 举报
回复
麻烦把代码写出来好吗????
sxmonsy 2008-12-22
  • 打赏
  • 举报
回复
用cookies,这个简单实用.
zhu660 2008-12-21
  • 打赏
  • 举报
回复
始终不认为验证码有什么用途!所以从来不用!
wonsoft 2008-12-21
  • 打赏
  • 举报
回复
生成时保存下来(显示出来时无非是生成图片,仅让对方看),验证输入的与生成的是否一致即可
icheney 2008-12-21
  • 打赏
  • 举报
回复
可以在页面上用javascript来读取存放了验证字符串的session或者cookies
kke_007 2008-12-21
  • 打赏
  • 举报
回复

Random rd = new Random(); //创建随机数对象

//以下4行,产生由6个字母和数字组成的一个字符串
string str = "ABCDEFGHIJKLMNOPQRSTURWXYZ0123456789";
string my51aspx = "";
for (int i = 0; i < 4; i++)
{
my51aspx = my51aspx + str.Substring(rd.Next(35), 1);
}
//验证码值存放到Session中用来比较
Session["ValidateReg"] = my51aspx;

//以下三句,通过随机找一个现有图象产生一个画布Bitmap
string bgFilePath = Server.MapPath("images/0" + new Random().Next(5) + ".jpg");//随机找个图象
System.Drawing.Image imgObj = System.Drawing.Image.FromFile(bgFilePath);
Bitmap newBitmap = new Bitmap(imgObj, 80, 18);//建立位图对象

Graphics g = Graphics.FromImage(newBitmap);//根据上面创建的位图对象创建绘图面
SolidBrush brush = new SolidBrush(Color.Black);//设置画笔颜色

//定义一个含10种字体的数组
String[] fontFamily ={ "Arial", "Verdana", "Comic Sans MS", "Impact", "Haettenschweiler", "Lucida Sans Unicode", "Garamond", "Courier New", "Book Antiqua", "Arial Narrow" };

//通过循环,绘制每个字符,
for (int a = 0; a < my51aspx.Length; a++)
{
Font textFont = new Font(fontFamily[rd.Next(9)], 10, FontStyle.Bold);//字体随机,字号大小30,加粗
//每次循环绘制一个字符,设置字体格式,画笔颜色,字符相对画布的X坐标,字符相对画布的Y坐标
g.DrawString(my51aspx.Substring(a, 1), textFont, brush, a * 19, 0);
}

//保存画的图片到输出流中
newBitmap.Save(Response.OutputStream, ImageFormat.Gif);
jiang_jiajia10 2008-12-21
  • 打赏
  • 举报
回复
用字符串比较ToCompar(str1,str2)

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧