彩色验证码图片可以防御别人的攻击?
因为当别人用轮询技术模拟登录的时候,他并不知道你的验证码是什么,也获取不到,因为这是一张图片,电脑并不能识别里面的数字是什么(除非破解验证码里面的干扰,再利用相关的图片识别技术有可能读出验证码,这里先不扯这个)。读不出验证码就没有机会轮询访问了,当然我们后台判断的时候一定要先判断验证码是否正确,以防止占用服务器资源。
3、随机数 code
①数字随机数
1 /// <summary>
2 /// 数字随机数
3 /// </summary>
4 /// <returns></returns>
5 private string getrndnum()
6 {
7 string code = string.empty;
8 random random = new random();
9 for (int i = 0; i < 4; i++)
10 {
11 code = code + random.next(9).tostring();
12 }
13 return code;
14 }
②字符串随机数
1 /// <summary>
2 /// 字符串验证码
3 /// </summary>
4 /// <returns></returns>
5 private string getrndstr()
6 {
7 string vchar = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";
8 string[] vcarray = vchar.split(',');
9 string checkcode = string.empty;
10 random rand = new random();
11 for (int i = 0; i < 4; i++)
12 {
13 rand = new random(unchecked((int)datetime.now.ticks));//为了得到不同的随机序列
14 int t = rand.next(vcarray.length);// the exclusive upper bound of the random number to be generated. maxvalue must be greater than or equal to zero,下标从0开始
15 checkcode += vcarray[t];
16 }
17 return checkcode;
18 }
首页 1 2 3 末页