莫言科技

全过程、自定制,轻松实现跨 旅游集散中心自助游

票务与调度系统(独立版) 整合旅游集散中心资源,提供 自助半自助游自定义套餐

面向有志创业的人士、基于云 计算理念提供的创业产品

敬请期待

查看: 2530|回复: 0

[转]在asp.net下实现数字和字符相混合的验证码-凯发k8官网下载客户端

[复制链接]
发表于 2010-12-24 17:07:58 | 显示全部楼层 |
原文地址:/ f! s* m8 u u0 b1 p
7 m7 f! x0 y2 b3 g/ u
详见原文,如果原文不可见,请见下文:
0 h( v% t! n* [4 d很多文章只讲诉了如何输出一个随机生成数字或字符的图象,当然这是验证码的核心了,但是对很多asp.net的初学者来说,怎么使用它生成的图象又成了一个问题(论坛有不少问这个的),这也是我写本文的一个原因.
7 k9 ?8 w4 c' e1 ?  w' \% `* b3 |; e/ f( k8 ]2 d
关于验证码的原理,就不多说了,大家可以参见其他文章,文末附有完整的实例代码,里面有详细的注释,你可以跳过解说文字,直接使用
5 ^& w/ q/ e; y) {) b# ~% }" n' @8 {) \
首先,要简要说说session和viewstate的用法,因为后面会用到它
( u$ u r. ^: m5 y0 u
! r6 j. ^ k# b2 b u把数据存储在session中:session("key")="test"
0 t8 o! o0 v( c
% [* @, c' p- d从session取值:dim testvalue as string=session("key")
# |) {5 v" a" y% ?) n" x- l. w) u" w: q
类似的:
x8 c% m8 s' t$ l6 ]1 x2 v6 m
- m; p* u7 f( f9 x! k# `, w; s把数据存储在viewstate中:viewstate("key")="test"
8 {6 _! i  l5 i% a( \" j  s& f/ a8 \# o6 ?. m! _
从viewstate中取值:dim testvalue as string=viewstate("key") 8 i! }& p7 i, ^; k, g1 t& {

* }, e' b' n3 ~关于viewstate的更详细的资料,你可以参看msdn的<>一文
: v$ {5 c( |3 g& s1 m4 |. f" p3 }, w8 t  g
有时代码本身就比任何解说更有表现力,所以在此就不对代码解说太多了,本文实现的验证码需要用到两个文件: 0 l: r5 }2 ?/ }  b3 q& w! ?/ n8 y
7 r; f0 u9 v' s' d4 m0 o
gif.aspx           该文件用于生成验证码 8 \: r$ o, c* w
6 }$ k- c0 b, z0 v; l- q
validatecode.aspx  该文件用来测试验证码(即如何使用)
9 v0 {# f a5 s& s, r n! s  n& b( y8 v6 l% i) @8 `
下面给出gif.aspx的完整代码:
7 f; ], r6 g- i# `$ i j4 v; }. ]  ?7 f; s
<%@ import namespace="system"%> $ t, ~! t# ^4 |

; x5 u. o# i( @! e<%@ import namespace="system.io"%>
7 ]! d$ v" y% x' b1 s* n
8 e2 f. ]7 d* p/ t<%@ import namespace="system.drawing"%>   u$ l" m: s9 l i/ \
; @& q- c% g s" f8 l
<%@ import namespace="system.drawing.imaging"%>
' ]  y( _8 y2 }' k
: y6 v- v0 w( g- i0 j9 f. z4 o" y3 l
5 ]" r$ |. ^6 |7 ]2 i/ f: \) y) c) @7 l1 b" l
那么又应该如何使用该文件生成的图象验证码,看这句代码: , w1 i5 f9 ]/ |
9 v$ r! j! j1 s5 ~/ v
r x# |0 x- x$ f. l

||archiver|莫言科技 ( )   

gmt 8, 2020-9-5 20:13 , processed in 0.061526 second(s), 12 queries , wincache on.

powered by x3.2

© 2001-2013

返回列表