修改驗證碼為加法運算問題,有效防止廣告資訊

來源:互聯網
上載者:User
引用內容  每天清理Blog的廣告評論和留言就得花上不少時間,甚至有一次3天沒上網,開啟Blog發現90多條廣告評論,頓時覺悟:是時候改進PJ的驗證方式了。最近看到mifly的WP上採用了新的驗證碼,形式是一道加法運算題,簡單明了,而且也對於瀏覽者來說,填寫一個1到2位元的答案,比起填寫4到6位元的驗證碼舒服多了。
  於是自己稍微研究了PJ的驗證碼機制,參照BoBlog的類似功能,做一點改動,初步實現加法運算形式的使用者驗證。當然WP上那個演算法驗證碼是隨機產生的,技術含量比我這個簡單的小修改強很多,具體修改效果如下:

修改方法:
1. 開啟common目錄下的function.asp,在大約50行左右可以找到以下代碼:

程式碼'*************************************
'獲得註冊碼
'*************************************  
Function getcode()
        getcode= "<img src=""common/getcode.asp"" alt="""" style=""margin-right:40px;""/>"        
End Function

2. 將其替換為以下代碼:

程式碼'*************************************
'獲得註冊碼
'*************************************  
'Function getcode()
        getcode= "<img src=""common/getcode.asp"" alt="""" style=""margin-right:40px;""/>"        
'End Function

'*************************************
'獲得註冊碼,運算問題
'NewValidate For PJblog2 BY Bigheadlyf
'更新時間: 2007-4-4
'*************************************
Function getcode()

Dim QuesionNum
QuesionNum=7  '問題的總數,如要添加問題,請先修改這個數值
Dim CodeIndex
CodeIndex=0

Dim QuesionArray(100)
Dim AnswerArray(100)

QuesionArray(0)="= 1 + 1"                       '問題列表及答案,可自行修改
AnswerArray(0)="2"
QuesionArray(1)="= 2 + 2"
AnswerArray(1)="4"
QuesionArray(2)="= 3 + 4"
AnswerArray(2)="7"
QuesionArray(3)="= 2 + 4"
AnswerArray(3)="6"
QuesionArray(4)="= 1 + 2"
AnswerArray(4)="3"
QuesionArray(5)="= 2 + 3"
AnswerArray(5)="5"
QuesionArray(6)="= 4 + 4"
AnswerArray(6)="8"

Randomize
CodeIndex =  Int((QuesionNum * Rnd) + 0)
Session("GetCode") = AnswerArray(CodeIndex)
getcode = "<span style=""margin-right:40px;"">" & QuesionArray(CodeIndex) & "</span>"
End Function

3. 儲存檔案,上傳到伺服器,測試~

4. 其他修改建議:
問題可以設定為加減乘除任意問題或者其他文字問題,例如“987 x 654 = ?”、“中國有幾個少數民族?”等等,不要讓瀏覽者答不上就可以了:P。
建議將驗證碼輸入框寬度改小些,且最大輸入字元數設定為2。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.