编程开发 > ASP > 文章内容

ASP实现加法验证码

2017-4-28编辑:ljnbset

ASP实现加法验证码

优点:
①与纯字符验证码相比,本程序效防止了绝大部分(99%以上)广告机的自动识别。即使是中文验证码, 也能被市面上的部分广告机识别。
②与中文验证码相比,避免了用户输入用户名密码验证码的时候需要切换输入法的麻烦。
说明:该程序需要网站空间支持ASPJpeg组件、楷体_GB2312字体。
代码如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

<%

Const FontColor = &H000000 ' 字体颜色

Const BgColor = &HFFCCFF ' 背景颜色

Call CreatValidCode("GetCode")

Sub CreatValidCode(pSN)

  Dim x, Jpeg

  Randomize

  x = Array(1+Int(Rnd()*9), Int(Rnd()*10), 1+Int(Rnd()*9), Int(Rnd()*10), 0, 0, "+")

  x(4) = x(0)*10 + x(1)

  x(5) = x(2)*10 + x(3)

  'Session(pSN) = CStr(Eval(x(4) & x(6) & x(5)))

  Session(pSN) = CStr(x(4) + x(5))

  Set Jpeg = Server.CreateObject("Persits.Jpeg")

  Jpeg.New 100,20,BgColor

  Jpeg.Quality=100

  With Jpeg.Canvas

    .Font.Bold = True

    .Font.Size = 16

    .Font.Rotation = 0

    .Font.Family = "楷体_GB2312"

    .Font.Color = FontColor

    .PrintText 4, 3, CStr(x(0))

    .PrintText 14, 3, CStr(x(1))

    .PrintText 26, 3, x(6)

    .PrintText 38, 3, CStr(x(2))

    .PrintText 48, 3, CStr(x(3))

    .Font.Rotation = 15

    .PrintText 55, 3, "等"

    .PrintText 70, 3, "于"

    .PrintText 85, 3, "?"

  End With

  '禁止缓存

  Response.ContentType = "image/jpeg"

  Response.Expires = -9999

  Response.AddHeader "pragma", "no-cache"

  Response.AddHeader "cache-ctrol", "no-cache"

  Response.AddHeader "Content-Disposition","inline; filename=vcode.jpg"

  Jpeg.SendBinary

  Jpeg.Close

  Set Jpeg = Nothing

End Sub

%>

以上就是关于asp实现加法验证码的关键代码,有兴趣的朋友,还可以扩展为其他的运算,比如乘法,减法,乘方等,希望本文对大家的学习有所帮助。

ASP的Global.asa文件技巧用法

热点推荐

登录注册
触屏版电脑版网站地图