日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
驗證碼的幾個常見漏洞

把驗證碼存儲在Cookie中

成都創(chuàng)新互聯(lián)公司服務(wù)項目包括望花網(wǎng)站建設(shè)、望花網(wǎng)站制作、望花網(wǎng)頁制作以及望花網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,望花網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到望花省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

一般來說,我們會把驗證碼的值用Session存儲起來,通過對比用戶提交的驗證碼和Session中的驗證碼,就可以知道輸入是否正確。由于Session會占用服務(wù)器資源,我曾經(jīng)想過是否可以把驗證碼的值加密后存儲在Cookie中。不過事實證明,這只是異想天開罷了。

假設(shè)驗證碼的值是a,通過sha1加密后得到的值為b = sha1(a),并且把b存儲在Cookie中。而用戶提交的驗證碼值為c,通過判斷sha1(c)是否與b相等,可以知道輸入的驗證碼是否正確。然而,Cookie是受客戶端控制的。如果用戶事先通過肉眼看到驗證碼的值是a,又從Cookie中得知此時的加密值為b,那么,他只要在提交前把Cookie的值修改為b,提交的驗證碼值為a,就可以永遠通過驗證。

沒有進行非空判斷

這種情況可以直接用代碼來說明:

 
 
 
  1. if (Request["captcha"] == Session["captcha"] as string) 
  2.  // 驗證通過,繼續(xù)操作 

假設(shè)用戶繞過了系統(tǒng)提供的表單直接提交數(shù)據(jù),此時驗證碼還沒生成,Session["captcha"]為空。用戶不提交驗證碼時,Request["captcha"]也為空。于是,驗證通過了。

要解決這個問題,其實只要加個非空判斷就可以了:

 
 
 
  1. if (!String.IsNullOrEmpty(Request["captcha"]) && 
  2.  Request["captcha"] == Session["captcha"] as string) 
  3.  // 驗證通過,繼續(xù)操作 

沒有及時銷毀驗證碼

使用驗證碼要遵循一個原則,在一次比對之后,無論用戶輸入正確與否,都要立刻將驗證碼銷毀。

如果不這樣做,就可以出現(xiàn)以下情況:

  • 假設(shè)用戶輸入錯誤,且驗證碼沒有重新生成,那么他就可以一直嘗試,直到正確為止。雖然機器對圖片的一次性識別率比較低,但是,如果同一張圖片你給它很多次機會的話,它還是可以識別出來的。
  • 假設(shè)用戶輸入成功,且驗證碼沒有銷毀,那么在Session過期之前,他就可以一直用這個驗證碼通過驗證。

當前標題:驗證碼的幾個常見漏洞
分享鏈接:http://www.dlmjj.cn/article/dhhjdss.html