為什麼要用:
相信各位有在經營部落閣的鄉民們,最常遇到的問題就是一堆垃圾留言,使用各種驗證碼(英語:Completely Automated Public Turing test to tell Computers and Humans Apart,簡稱CAPTCHA)來防護,似乎都沒有很好的防護效果。
使用驗證碼,就是要機器人程式無法辨識,進而無法留言成功,除了常見的變型圖文字,圖文問答之外,加減法也是常見的。
驗證碼機制的缺失:
其中,最有名的就是Google自己提供的驗證碼防護(reCAPTCHA),失效的狀況最明確,原因是出在機制的設計。
其實Google的驗證碼,是讓大家幫Google打工,因為Google掃瞄了非常多的書(Google 掃描圖書無罪判決在這裡 ),使用這些變型的掃描,給使用者輸入,讓使用者給Google打工。
雖然Google提供的驗證碼服務是免費的,但是在這種條件下給Google打工,感覺不是很好。再者,reCAPTCHA發出來的圖文,很難,常常我看到,都要花很多的眼力去看,才看的懂。
Google的驗證碼的確給機器人程式不小的打擊,好一陣子都沒有垃圾信,過了沒有多久,垃圾信機器人又重出決湖。
Google驗證碼,除了圖片驗證之外,為了照顧盲人,也提供的語音辨識的功能,俄羅斯的駭客,利用這個點進行突破,用語音引擎接收reCAPTCHA傳來的語音,進行拆解,再還原成字碼。
這樣機器人,就有可以完成留言的動作。
連Google自己的團隊都開發出演算法,對於reCAPTCHA的驗證碼,也有高達8成的正確率。比Google Map的門牌辨識率還要高。
當然,Google又依這個演算法,來調整他們reCAPTCHA的圖文驗證碼機制。
人工智慧:
人工智慧軟體開發商中的Vicarious指出,其公司開發的圖型驗證機制(CAPTCHA)演算法,已可以成功解讀,包括Google所開發的reCAPTCHA。
Vicarious表示,當一個演算法能夠達到1%的成功率時,便算是破解了CAPTCHA,然而,該公司的人工智慧軟體破解CAPTCHA的成功機率最高可達到90%,涵蓋來自Google、Yahoo、PayPal或Captcha.com的機制,意味著要求輸人文字的CAPTCHA已然失效。
其實我不是很懂,為什麼成功率1%,就算是破解。實驗室到量產的路這麼難走,怎麼可以說是1%就算破解,不是很懂。
人工輸入驗證碼:
另外,還有一種不是使用語音破解的方式,而是把圖片截下來,轉給真人來做輸入,也就是打碼的動作。
說到打碼,不得不說一下,記得當時年紀小,還有點點點大戰的時候,台灣的玩家,就開發過這樣的程式,前端程式和Server互連,把圖後傳給後端的人,用人工的方式來輸入,回傳給前端。
因為所有的驗證碼都是透過session來傳㴲的,所以前端接到人工輸入的驗證碼後,再回傳給伺服器。
想到當年的點點點世界大戰,台灣、日本、匈牙利可是勁敵,蝸牛還當過打字兵,練習打字,狂衝台灣的排名。
如果人工便宜,網路便宜,電力便宜的情況下,用人工辦識是可以的,但是一定比機器人全自動輸入來的高很多。
圖文驗證的感受:
老實說,遇到簡單的圖片驗證,是還好啦!會輸入一下,但是reCAPTCHA出來的圖越來越難,我用起來就越來越倒彈。這個部份講的很大一部份是使用者體驗。
還有,簡體網站,常常會用簡體字的圖片驗證,我看的懂簡體字啊!但是我打不出來,我要怎麼去輸入,見鬼了。
幾個國內知名的BSP(Blog Service Provider),用的驗證方式是跳窗,我覺得這招很不錯,機器人程式通當不能處理跳窗的步驟。
很多網站,留言的方式是使用Facebook的留言版,通常看到這個,我是不會留言的,因為我的FB帳號已經自爆停用了。
另外Disqus的留言使用者也不少,為了一個留言,要多留一個帳號,還沒有辦法拿到返向鏈結,我看到也是退避三舍。
圖文驗證防垃圾留言的矛與盾
不論任何一種防護方式,都有破解的方法,越知名的網站,流量越高的網站,就越容易被攻擊。
網站經營,只能看資源來調整,畢竟蝸牛還不是以寫文字來過日子,所以,盡力就好,這半年流量掉的太兇,都沒有人留言,哈。
隨機文章
- 受保護的內容: CentOS 7 webmin 防火牆 OPENLDAP htop iftop (2016-08-02)
- 架留言本,在IPower和Anhosting就是不同 (2008-08-27)
- ptt鄉民的正義 (2013-09-27)
- 最後 放棄在家和在公司使用 adguard Home (2020-12-03)
- isc-kea使用python進行管理,相關測試 (2024-07-05)
直接非中文和“”全部过滤,世界就清净了