今天大叔要來挑戰驗證碼,
之前就有想要特別開一篇文章來講,
但是其實最近就有我喜歡的部落格有寫了一篇文章,
讓我很猶豫要不要繼續講。
昨天都已經說要說明了,
大叔我就隨意講一下,
講到哪算到哪。
大叔今天會以我喜歡的文章與文件來做整理:
但是在看文件之前,我們必須暸解驗證碼的重點,主要目的在於不讓自動化程式影響網站但是又必須讓人輕易使用以及有各種使用方式,所以我們理想上要達成以下功能:
來看看大叔搜集的範例:
常見方式,提供輸入框、圖片、聲音報讀、可以只使用鍵盤,雖然都符合了,但是有時候為了抵制機器人,視覺的圖片會判斷不易,尤其是現在辨識的技術相當強,這種方式大叔估計再也沒辦法擋了。
星系的方式大叔我會猶豫了一下,因為我對星星沒那麼熟,需要前置知識,所以大叔認為不合格。
需要精確辨識且點擊特定區域。
視覺上判斷很吃力,就好像 icon 給人的感覺都不太一樣。
這個是很特殊的方式,直接用假圖片中文數字,大叔不太確定這種方式能否有效抵擋,因為大叔查看其他文章以及不同天觀察,發現中文數字都是一樣的。另外中文數字其實也很好自動判斷,應該也不難破解,但好處是使用者輸入方便。
以上,您會發現要做好符合上述驗證碼真的很困難,
所以在 w3c 文件裡面,沒有特別明確的指示,因為網頁的情況百百種,不過在結論的時候有特別提到幾點:
w3c 都這樣講了,好像真的沒辦法了,
但大叔算是半個程式人,
一直堅信著「沒有寫不出來的程式,如果有,是你沒想到」,
所以,讓我們來看看無障礙網路空間服務網的說明:
恩...似乎是可行,但體驗就是差了那麼一點,
還是希望一切都在網頁上進行。
還不到放棄的時刻,
讓我們看看無障礙新手村寫的文章提供的其他思路:利用智慧型裝置辨識,例如簡訊、指紋辨識、臉部辨識等,
大叔也有想過,但是這需要跨裝置、甚至是跨系統,
雖然現在人手一機,
但是還是要思考如果只能傳統型手機的人,
收發訊息也不是那麼方便,
尤其傳統型手機的輔助功能可能更不好。
講了那麼多,是不是有點絕望感?
就像大叔說的「沒有寫不出來的程式,如果有,是你沒想到」,
破解程式也是「沒有破解不了的鎖,如果有,是你沒想到」,
所以大叔會建議想朝這方面發展的人,
建議使用「破解成本高」這條路,
畢竟,想要破解的人,無非是得財,
不論是靠著攻擊讓你付錢或是不斷的取得資訊,
只要成本高,他們就會放棄,
當然你又會說「沒有壓不了成本的程式,如果有,是你沒想到」...
話是沒錯啦,但是齁,想壓低成本沒有那麼簡單的,
不然每個老闆都是富翁了。
其實大叔心裡期望著,文章打到這邊,我的腦袋就會文思泉湧,
想出招數來對付機器人,
但很可惜沒有,
換句話說,
想出來的人,你就可以一飛沖天了,加油!
科技就是不斷的突破窠臼!