asp漢字中文圖片驗(yàn)證碼
更新時(shí)間:2008年04月26日 21:18:18 作者:
'此代碼是在別人基礎(chǔ)上增加的漢字功能,特此感謝,同時(shí)感謝鬼火狼煙。
'以前的圖片驗(yàn)證碼很容易被破解,所以在其基礎(chǔ)上進(jìn)行改進(jìn),生成漢字,就目前而言很難破解
用法:
在需要顯示驗(yàn)證碼圖片的地方插入代碼 <img src="code.asp">
同時(shí),自動生成session("psn"),表單提交驗(yàn)證session就可以了。
根據(jù)評論中兩位網(wǎng)友對這個(gè)驗(yàn)證碼的正確使用還存在一些疑問,這里我寫一個(gè)使用的簡單例子:

按下確定:

與網(wǎng)友溝通,發(fā)現(xiàn)網(wǎng)友測試的時(shí)候,使用這樣:
結(jié)果每次顯示的時(shí)候都是不相同的兩個(gè)字符,所以就產(chǎn)生了疑問!這個(gè)session("psn")取得的是上一個(gè)產(chǎn)生的session。這個(gè)我的能力有限,也只能按照我的理解說一下:
這兩句執(zhí)行的時(shí)候,執(zhí)行第一句就產(chǎn)生了一個(gè)session("psn"),但產(chǎn)生的速度有比下面的輸出session("psn")快嗎?答案是沒有,產(chǎn)生一個(gè)session你可以看看code.asp里面的代碼,所以第二句的session保留的還是上一個(gè)的session。你可以試下第一次執(zhí)行的時(shí)候,第二句其實(shí)是什么都沒有輸出的,而到了我寫的例子中的情況,則有足夠的情況改變session的值。我是這樣理解的,如果有不妥之處,歡迎不吝賜教!
文件打包下載
在需要顯示驗(yàn)證碼圖片的地方插入代碼 <img src="code.asp">
同時(shí),自動生成session("psn"),表單提交驗(yàn)證session就可以了。
根據(jù)評論中兩位網(wǎng)友對這個(gè)驗(yàn)證碼的正確使用還存在一些疑問,這里我寫一個(gè)使用的簡單例子:

按下確定:

<%
'判斷是否按下了確定按鈕,如果按下了,則對比驗(yàn)證碼是否輸入正確
If Request.QueryString("submit") <> "" Then
Dim checkCode
checkCode = Trim(Request.QueryString("checkCode"))
If checkCode = Session("psn") Then
Response.Write("<script>alert('驗(yàn)證碼正確');</script>")
Else
Response.Write("<script>alert('驗(yàn)證碼錯(cuò)誤');</script>")
End If
End If
%>
<form action="test.asp" method="get">
<input type="text" name="checkCode" />
<img src="code.asp" />
<input type="submit" name="submit" value="確定">
</form>
'判斷是否按下了確定按鈕,如果按下了,則對比驗(yàn)證碼是否輸入正確
If Request.QueryString("submit") <> "" Then
Dim checkCode
checkCode = Trim(Request.QueryString("checkCode"))
If checkCode = Session("psn") Then
Response.Write("<script>alert('驗(yàn)證碼正確');</script>")
Else
Response.Write("<script>alert('驗(yàn)證碼錯(cuò)誤');</script>")
End If
End If
%>
<form action="test.asp" method="get">
<input type="text" name="checkCode" />
<img src="code.asp" />
<input type="submit" name="submit" value="確定">
</form>
與網(wǎng)友溝通,發(fā)現(xiàn)網(wǎng)友測試的時(shí)候,使用這樣:
<img src="code.asp" />
<%=session("psn")%>
<%=session("psn")%>
結(jié)果每次顯示的時(shí)候都是不相同的兩個(gè)字符,所以就產(chǎn)生了疑問!這個(gè)session("psn")取得的是上一個(gè)產(chǎn)生的session。這個(gè)我的能力有限,也只能按照我的理解說一下:
<img src="code.asp" />
<%=session("psn")%>
<%=session("psn")%>
這兩句執(zhí)行的時(shí)候,執(zhí)行第一句就產(chǎn)生了一個(gè)session("psn"),但產(chǎn)生的速度有比下面的輸出session("psn")快嗎?答案是沒有,產(chǎn)生一個(gè)session你可以看看code.asp里面的代碼,所以第二句的session保留的還是上一個(gè)的session。你可以試下第一次執(zhí)行的時(shí)候,第二句其實(shí)是什么都沒有輸出的,而到了我寫的例子中的情況,則有足夠的情況改變session的值。我是這樣理解的,如果有不妥之處,歡迎不吝賜教!
文件打包下載
相關(guān)文章
一個(gè)能對訪問者進(jìn)行編號、記錄訪問次數(shù)、IP、時(shí)間的統(tǒng)計(jì)制作實(shí)例
一個(gè)能對訪問者進(jìn)行編號、記錄訪問次數(shù)、IP、時(shí)間的統(tǒng)計(jì)制作實(shí)例...2006-12-12ASP運(yùn)行出錯(cuò):缺少對象: ''xmlDoc.documentElement''錯(cuò)誤解決方法
ASP運(yùn)行出錯(cuò):缺少對象: 'xmlDoc.documentElement'錯(cuò)誤解決方法,需要的朋友可以參考下2012-03-03utf-8 網(wǎng)頁不顯示+utf-8網(wǎng)頁亂碼的通用解決方法
當(dāng)我們在瀏覽或使用uft-8格式的頁面的時(shí)候,總有可能出現(xiàn)一些亂碼或不顯示的問題,下載就瀏覽器客戶端和服務(wù)器都有一些原因的分析與解決方法2008-10-10ASP 空字符串、IsNull、IsEmpty區(qū)別分析
本文將詳細(xì)介紹ASP中空字符串、IsNull、IsEmpty之間的區(qū)別,有需要的朋友可以參考下2012-12-12ASP 代碼出現(xiàn)80040e14錯(cuò)誤的解決方法
本文減淡概述了解決80040e14錯(cuò)誤的兩種方法。2009-04-04asp通過JMAIL實(shí)現(xiàn)通用發(fā)送函數(shù)
asp通過JMAIL實(shí)現(xiàn)通用發(fā)送函數(shù)...2007-08-08ASP 連接Access數(shù)據(jù)庫的登陸系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了ASP 連接Access數(shù)據(jù)庫的登陸系統(tǒng),感興趣的小伙伴們可以參考一下2016-07-07