天天看點

用圖檔做網站輸入驗證的構想

我們現在使用的驗證手段都是以驗證碼為主,讓使用者根據圖檔輸入驗證字元,這種方法的安全度尚可,但會給使用者帶來一些不便和困擾,比如這個雅虎的驗證碼:

這個安全度很高,機器和人都無法正确識别了。

其實要讓人看得懂、機器看得暈,隻要拿出我們人類的強項就可以了啊——影像識别,試想用圖檔來做驗證是不是會很好呢:

上面的示例示範了圖檔驗證的界面。使用者進行驗證時的操作很簡單,隻需點選圖像所屬的類别就可以了,還可以順道欣賞一下圖檔,很是惬意;而機器急大了頭也很難了解圖檔的内容吧?

有人說可以用複雜的瞳孔識别、面部識别等技術确定是否屬于人物類,我想那也隻是人物類,還得是帶有正面面部的照片,而且有時可能會将大猩猩也歸為人類,假如再把人物細分成了男性和女性兩種分類,機器又要頭大了。

如果還不放心的話,還可以為輸出的圖檔添加幹擾,給機器火上澆油:

這樣加入幹擾之後,對人類來說幾乎沒有增加任何識别難度,機器就苦惱得不行了。

定期重置随機幹擾的話,還可以避免機器将圖檔收錄後重複調用。

還有一個防止收錄的辦法就是不斷更換與擴充圖庫,不過一般懶蛋型站長通常不喜歡經常這樣做,我在這裡就建議各種提供圖檔服務的網站(比如Picasa)來擔起此任務,對外提供圖檔驗證服務,用豐富的圖檔資源為其他網站服務,而使用者如果覺得圖檔有趣的話,也會點選“顯示原始大圖”連結造訪到提供服務的網站的哦。

當然,除了影像識别之外,人腦還擅長很多别的工作,比如聲音識别、詞語聯想、内容了解等等,各位也可想想更好的驗證方案,使網站在提升安全度的同時,為使用者帶來更加人性化的體驗。

答疑:

--引用--------------------------------------------------

YangQ: 提以下幾個問題:

1、加載這麼大一幅圖檔的時間和帶寬是加載一副驗證碼的多少倍?

2、這麼幾個選項用機器暴力破解台容易了,就算沒送出一次就換一副圖驗證,機器蒙對的機率也是相當高的~

3、關鍵的問題,這些圖檔的必須經過人工來處理再錄入資料庫,選項也得人工錄入,因為機器本身就很難識别哪些是人哪些是物。

這些問題如何解決?

--------------------------------------------------------

各位的疑點都差不多啊,我來回答一下吧:

1、圖檔不一定非要這麼大,以人能看清楚為主,帶寬開銷不是很變态吧?正常你網站裡也有很多圖檔被通路到的啊,比如論壇、圖檔站的話本身就比這個開銷大很多倍了。再者如果按我說的由第三方提供服務的話,就更沒有問題了。

2、選項可以增加的,圖庫可以不斷擴充的,假如随機100張圖,再加上随機的幹擾,機器根本無法知道哪個圖曾經出現過,何談爆破?亂點的确可能猜對,但是防爆破的手段肯定是有的啊,比如重試間隔和最大重試次數限制,尤其是這種對于人類來說非常簡單的驗證方式,其對重試的要求可以更為苛嚴很多也不會影響使用。

3、人工錄入并不是什麼大不了的勞動量吧,無非就是找張圖檔上傳并選擇分類,每天弄兩張,日積月累就比較可觀了,足以應付大多數情況。

本文轉自斯克迪亞部落格園部落格,原文連結:http://www.cnblogs.com/SkyD/archive/2009/02/02/1382248.html,如需轉載請自行聯系原作者

繼續閱讀