程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> 動網論壇驗證碼改進 加法驗證碼(ASPJpeg版)

動網論壇驗證碼改進 加法驗證碼(ASPJpeg版)

日期:2017/1/11 9:14:12      編輯:關於ASP編程
來看看效果圖對比:字符驗證碼: → 加法驗證碼:
優點:
①與純字符驗證碼相比,本程序效防止了絕大部分(99%以上)廣告機的自動識別。即使是中文驗證碼,也能被市面上的部分廣告機識別。
②與中文驗證碼相比,避免了用戶輸入用戶名密碼驗證碼的時候需要切換輸入法的麻煩。
有興趣的朋友,還可以擴展為其他的運算,比如乘法,減法,乘方等。
使用方法:將以下代碼保存為Dv_GetCode.asp文件,替換動網論壇的該文件。背景色、字體顏色可在代碼中修改。
說明:該程序需要網站空間支持ASPJpeg組件、楷體_GB2312字體。
後續我會發布一個不需要組件及字體支持的版本,有興趣者請關注我的博客。
復制代碼 代碼如下:
<%
'=============================================================================
'動網論壇加法驗證碼(ASPJpeg版)
'作者:cuixiping
'博客(CSDN):http://blog.csdn.net/cuixiping/
'博客(博客園):http://www.cnblogs.com/cuixiping/
'日期:2008年11月
'生成100x20的jpeg圖片驗證碼,內容類似“25+64等於?”
'需要網站空間支持ASPJpeg組件(Persits.Jpeg)。
'如果服務器沒有“楷體_GB2312”字體,請修改為其他字體並調整字符位置。
'使用方法:將該代碼替換動網論壇的Dv_GetCode.asp文件中的內容,文件首尾不要留空行。
'=============================================================================

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
%>
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved