ASP實現加法驗證碼

這篇文章主要介紹了ASP實現加法驗證碼,是在原來的驗證碼基礎上進行創新,將驗證碼改爲加法運算,感興趣的小夥伴們可以參考一下

將驗證碼改爲加法運算,比如驗證碼顯示“25+64等於?”,那麼輸入“91”就能通過驗證。
來看看效果圖對比:字符驗證碼: → 加法驗證碼:
優點:
①與純字符驗證碼相比,本程序效防止了絕大部分(99%以上)廣告機的自動識別。即使是中文驗證碼, 也能被市面上的部分廣告機識別。
②與中文驗證碼相比,避免了用戶輸入用戶名密碼驗證碼的時候需要切換輸入法的麻煩。
說明:該程序需要網站空間支持ASPJpeg組件、楷體_GB2312字體。
代碼如下:

<%
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實現加法驗證碼的關鍵代碼,有興趣的朋友,還可以擴展爲其他的運算,比如乘法,減法,乘方等,希望本文對大家的學習有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章