圖片驗證應該要做的事情

最近發現我之前寫的 站長工具 被大量色情訊息入侵,明明我有用圖片驗證,為什麼還是檔不住機器人呢?

後來發現有幾個地方在當初沒考慮到。這邊就不贅述一般圖片驗證的流程,只講幾個容易漏掉的細節。

第一個可能漏洞:如果不載入圖片,就不會產生驗證碼的話,這是非常危險的,對方很可能只要直接戳就會過。

解決方法:後端不能只檢查 「驗證碼」 是否等於 「真正的驗證碼」,必須加驗「驗證碼」不能為空或是 0 。(因為如果用 PHP 的話,要小心被型別轉換 var_dump(0 == null) 答案是 true 所以要用 === 驗證)

第二個可能漏洞:當成功輸入一次驗證碼,只要不載入圖片,就可以一直 replay

解決方法:驗過驗證碼之後,立即銷毀驗證碼。


增加強度的方法:

第一、驗證碼不靠載入圖片的時候產生,而是由頁面產生。

第二、驗證碼錯誤之後,阻擋若干秒,禁止輸入。

Posted in Computers
2 comments on “圖片驗證應該要做的事情
  1. sotom says:

    “站長工具” 的連結好像錯了 0.0

Leave a Reply

Your email address will not be published.