錯新技術頻道小編將與大家分享使用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 = NothingEnd Sub%>
以上是關于ASP實現的關鍵代碼的加法驗證代碼。感興趣的朋友也可以擴展到其他項目進行操作,如乘法、減法等等。希望本文能對您的學習有所幫助,希望大家繼續支持錯新技術頻道!
新聞熱點
疑難解答