動(dòng)網(wǎng)論壇驗(yàn)證碼改進(jìn) 加法驗(yàn)證碼(ASPJpeg版)
更新時(shí)間:2008年11月18日 15:26:05 作者:
很多站長(zhǎng)都為論壇里太多的垃圾廣告抓狂,本程序就是為了對(duì)付論壇垃圾廣告群發(fā)器的。
將驗(yàn)證碼改為加法運(yùn)算,比如驗(yàn)證碼顯示“25+64等于?”,那么輸入“91”就能通過(guò)驗(yàn)證。
來(lái)看看效果圖對(duì)比:字符驗(yàn)證碼:
→ 加法驗(yàn)證碼:
優(yōu)點(diǎn):
①與純字符驗(yàn)證碼相比,本程序效防止了絕大部分(99%以上)廣告機(jī)的自動(dòng)識(shí)別。即使是中文驗(yàn)證碼,也能被市面上的部分廣告機(jī)識(shí)別。
②與中文驗(yàn)證碼相比,避免了用戶(hù)輸入用戶(hù)名密碼驗(yàn)證碼的時(shí)候需要切換輸入法的麻煩。
有興趣的朋友,還可以擴(kuò)展為其他的運(yùn)算,比如乘法,減法,乘方等。
使用方法:將以下代碼保存為Dv_GetCode.asp文件,替換動(dòng)網(wǎng)論壇的該文件。背景色、字體顏色可在代碼中修改。
說(shuō)明:該程序需要網(wǎng)站空間支持ASPJpeg組件、楷體_GB2312字體。
后續(xù)我會(huì)發(fā)布一個(gè)不需要組件及字體支持的版本,有興趣者請(qǐng)關(guān)注我的博客。
<%
'=============================================================================
'動(dòng)網(wǎng)論壇加法驗(yàn)證碼(ASPJpeg版)
'作者:cuixiping
'博客(CSDN):http://blog.csdn.net/cuixiping/
'博客(博客園):http://www.cnblogs.com/cuixiping/
'日期:2008年11月
'生成100x20的jpeg圖片驗(yàn)證碼,內(nèi)容類(lèi)似“25+64等于?”
'需要網(wǎng)站空間支持ASPJpeg組件(Persits.Jpeg)。
'如果服務(wù)器沒(méi)有“楷體_GB2312”字體,請(qǐng)修改為其他字體并調(diào)整字符位置。
'使用方法:將該代碼替換動(dòng)網(wǎng)論壇的Dv_GetCode.asp文件中的內(nèi)容,文件首尾不要留空行。
'=============================================================================
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
%>


優(yōu)點(diǎn):
①與純字符驗(yàn)證碼相比,本程序效防止了絕大部分(99%以上)廣告機(jī)的自動(dòng)識(shí)別。即使是中文驗(yàn)證碼,也能被市面上的部分廣告機(jī)識(shí)別。
②與中文驗(yàn)證碼相比,避免了用戶(hù)輸入用戶(hù)名密碼驗(yàn)證碼的時(shí)候需要切換輸入法的麻煩。
有興趣的朋友,還可以擴(kuò)展為其他的運(yùn)算,比如乘法,減法,乘方等。
使用方法:將以下代碼保存為Dv_GetCode.asp文件,替換動(dòng)網(wǎng)論壇的該文件。背景色、字體顏色可在代碼中修改。
說(shuō)明:該程序需要網(wǎng)站空間支持ASPJpeg組件、楷體_GB2312字體。
后續(xù)我會(huì)發(fā)布一個(gè)不需要組件及字體支持的版本,有興趣者請(qǐng)關(guān)注我的博客。
復(fù)制代碼 代碼如下:
<%
'=============================================================================
'動(dòng)網(wǎng)論壇加法驗(yàn)證碼(ASPJpeg版)
'作者:cuixiping
'博客(CSDN):http://blog.csdn.net/cuixiping/
'博客(博客園):http://www.cnblogs.com/cuixiping/
'日期:2008年11月
'生成100x20的jpeg圖片驗(yàn)證碼,內(nèi)容類(lèi)似“25+64等于?”
'需要網(wǎng)站空間支持ASPJpeg組件(Persits.Jpeg)。
'如果服務(wù)器沒(méi)有“楷體_GB2312”字體,請(qǐng)修改為其他字體并調(diào)整字符位置。
'使用方法:將該代碼替換動(dòng)網(wǎng)論壇的Dv_GetCode.asp文件中的內(nèi)容,文件首尾不要留空行。
'=============================================================================
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組件AspJpeg(加水印)生成縮略圖等使用方法
- aspJpeg圖片水印有雜點(diǎn)的完美解決方法
- win2003 AspJpeg安裝圖文教程
- 基于ASPJPEG 制作了一個(gè)夢(mèng)寐已久的批量水印工具步驟
- aspjpeg 添加水印教程及生成縮略圖教程
- aspjpeg組件通用加水印函數(shù)代碼
- 使用ASPJPEG出現(xiàn)0177 800401F3 錯(cuò)誤的解決辦法
- asp水印組件之AspJpeg的結(jié)合代碼實(shí)例
- ASPJPEG綜合操作的CLASS類(lèi)
- 結(jié)合FSO操作和Aspjpeg組件寫(xiě)的Class
- 水印組件AspJpeg1.801最新官方原版下載+注冊(cè)碼
- 利用ASPUPLOAD,ASPJPEG實(shí)現(xiàn)圖片上傳自動(dòng)生成縮略圖及加上水印
- ASPJPEG學(xué)習(xí)手記
- 圖片自動(dòng)保存到本地并利用aspjpeg為圖片加水印
- Aspjpeg添加水印完整方法
- AspJpeg?V1.5.0?破解版使用方法
- aspjpeg組件使用方法
相關(guān)文章
asp連接mysql數(shù)據(jù)庫(kù)詳細(xì)實(shí)現(xiàn)代碼
文章詳細(xì)的介紹在asp中如何來(lái)連接mysql數(shù)據(jù)庫(kù)并查出數(shù)據(jù)并輸出,同時(shí)也介紹了連接mysql核心代碼及中文亂碼解決辦法2012-04-04asp分頁(yè)(自己整理的2個(gè)分頁(yè)程序)
asp下的分頁(yè)程序代碼2008-04-04用ASP讀取/寫(xiě)入U(xiǎn)TF-8編碼格式的文件
用ASP讀取/寫(xiě)入U(xiǎn)TF-8編碼格式的文件...2006-11-11垃圾引用防治補(bǔ)丁以及發(fā)送引用修正補(bǔ)丁的自動(dòng)安裝程序
垃圾引用防治補(bǔ)丁以及發(fā)送引用修正補(bǔ)丁的自動(dòng)安裝程序...2007-02-02Asp 使用 Microsoft.XMLHTTP 抓取網(wǎng)頁(yè)內(nèi)容并過(guò)濾需要的
這篇文章主要介紹了Asp 使用 Microsoft.XMLHTTP 抓取網(wǎng)頁(yè)內(nèi)容(沒(méi)用亂碼),并過(guò)濾需要的內(nèi)容2014-05-05