【ASP】建立自己專屬驗證碼(CAPTCHA)
首先,先到 http://www.tipstricks.org/ 造訪,挑選自己喜歡的風格及規則,最後並下載。
如下圖(參考):

接著在網頁上開始引用。
Javascript部分:(此功能為重新產生驗證碼圖片)
<script type="text/javascript" language="javascript">
function RefreshImage(valImageId) {
var objImage = document.getElementById(valImageId)
if (objImage == undefined) {
return;
}
var now = new Date();
objImage.src = objImage.src.split('?')[0] + '?x=' + now.toUTCString();
}
</script>
HTML部分:
<img src="/captcha/captcha.asp" id="imgCaptcha" />
<a href="javascript:void(0);" onClick="RefreshImage('imgCaptcha');">Get a new challenge</a><br />
Write the characters in the image above<br />
<input type="text" name="txtCaptcha" id="txtCaptcha" value="" />
ASP部分:(判斷驗證碼是否輸入正確)
'check CAPTCHA
if IsEmpty(Session("ASPCAPTCHA")) or Trim(Session("ASPCAPTCHA")) = "" then
lblResult = "This CAPTCHA has expired." '驗證碼過期
response.write "<script type='text/javascript'>alert('" & lblResult &"');</script>"
else
Dim TestValue : TestValue = Trim(Request.Form("txtCaptcha"))
'//Uppercase fix for turkish charset//
TestValue = Replace(TestValue, "i", "I", 1, -1, 1)
TestValue = Replace(TestValue, "I", "I", 1, -1, 1)
TestValue = Replace(TestValue, "i", "I", 1, -1, 1)
'////////////////////
TestValue = UCase(TestValue)
if StrComp(TestValue, Trim(Session("ASPCAPTCHA")), 1) = 0 then
lblResult = "CAPTCHA PASSED" '驗證碼輸入正確
else
lblResult = "CAPTCHA FAILED" '驗證碼錯誤
response.write "<script type='text/javascript'>alert('" & lblResult &"');</script>"
end if
'//IMPORTANT: You must remove session value for security after the CAPTCHA test//
Session("ASPCAPTCHA") = vbNullString
Session.Contents.Remove("ASPCAPTCHA")
end if
執行畫面:

留言
張貼留言