Google reCAPTCHA 是一種智慧工具,可以幫助網站阻擋機器人,或任何形式的自動攻擊,它可以判斷目前在瀏覽網頁的是一個活生生的人類,還是自動化的軟體,採用 reCAPTCHA 保護機制,簡單又安全。
隨著數位化進程不斷加速,網站成為了個人和企業交流、交易和存儲資訊的主要平台。然而,這也使得網站成為各種惡意行為和攻擊的目標。無論是資料洩露、欺詐行為,或是服務中斷,任何一種安全事件都可能對業務和用戶造成嚴重影響。
為了對抗這些威脅,多種網站安全機制和工具應運而生。其中,Google的reCAPTCHA 系統是目前最為廣泛使用的解決方案之一。透過一個簡單但強大的用戶驗證機制,reCAPTCHA 能有效區分人類和機器行為,從而保護網站免受自動化攻擊和垃圾訊息的侵擾。它廣泛應用在許多場景中,包括但不限於用戶註冊、在線購物、和公共論壇。
reCAPTCHA 簡介
歷史背景
- reCAPTCHA 最初是由卡內基梅隆大學的研究者開發的,後來在 2009 年被 Google 收購。
- 這個服務最初是作為一個安全驗證機制,用於區分人類和機器。
reCAPTCHA v1(舊版本)
- 最初版本主要依賴於文本辨識,通常需要用戶輸入模糊的字母或數字。
- 雖然有效,但用戶體驗不佳。
reCAPTCHA v2
- 引入了「我不是機器人」的勾選框,以及對象和圖像的識別。
- 提供了多種挑戰類型,包括圖像選擇、數字或字母輸入等。
reCAPTCHA v3
- 不再依賴挑戰-回應模型,而是透過分析用戶行為來自動生成一個風險分數。
- 允許網站所有者根據這個分數來採取相應的行動。
reCAPTCHA Enterprise
- 針對企業需求,提供更多自定義選項和更高級的安全措施。
- 通常用於更大規模或更敏感的應用場景。
主要區別
- v2 是互動型的,需要用戶完成特定的挑戰。
- v3 是無縫的,用戶通常不需要採取任何行動。
- Enterprise 版本提供了進一步的分析和客製化選項。
應用場景
- 網站註冊、找回密碼、在線支付、票務預訂等。
reCAPTCHA 的具體好處
安全性提升
防止自動化攻擊:例如暴力破解密碼、自動註冊帳號等。
減少垃圾郵件和垃圾留言:藉由識別和過濾自動發送的垃圾資訊。
防止資源濫用:例如,防止不當的資源存取或不合理地佔用網路帶寬。
增加交易安全性:在敏感操作(如在線支付、轉帳等)前增加一層驗證。
用戶體驗
減少干擾:相較於其他驗證方式,如短信驗證,reCAPTCHA 通常更不侵入性,特別是 v3 版本。
方便性:用戶在多數情況下只需要簡單地勾選一個框,或者甚至不需要採取任何動作(在 v3 的情況下)。
適用性廣泛:不同版本的 reCAPTCHA 可以應用於多種不同場景,從基本的登錄和註冊到更複雜的交易驗證。
信任度提升:知名的安全措施能夠增加用戶對網站的信任感。
數據分析
行為分析:特別是在使用 reCAPTCHA v3 時,網站所有者可以根據用戶行為獲得的分數來進行更深入的分析。
自定義設置:網站所有者可以根據需要,調整 reCAPTCHA 的敏感度,更精確地識別潛在的威脅。
reCAPTCHA v3
reCAPTCHA v3 是 Google 開發的 CAPTCHA 系統的第三代版本,它的設計理念與前兩代有較大的不同。以下是 reCAPTCHA v3 的特色說明。
無干擾性:與 v2 版本不同,v3 不再要求用戶執行任何明確的操作,如勾選 “我不是機器人” 框或進行圖像選擇等挑戰。取而代之的是,它在背後運行,分析用戶的行為,然後給出一個分數。
分數制:reCAPTCHA v3 會根據用戶的行為給出一個 0 到 1 的分數,其中 1.0 表示該用戶極有可能是一個真人,而 0 表示極有可能是一個機器人。網站擁有者可以設定分數的閾值,根據此閾值決定是否要求用戶進行額外的身份驗證。
自訂行動:基於上述的分數制,網站開發者可以定義自己的策略,例如:若分數低於某個特定值,則顯示一個驗證挑戰或阻止該請求。
全面分析:v3 在網站的多個頁面上進行分析,而不僅僅是登入或註冊頁面,從而能夠更全面地評估用戶的行為模式。
適合多種場景:v3 不僅適用於登入和註冊頁面,還可以適用於評論區、購物車、搜索功能等。
Google reCAPTCHA 第三版功能介紹影片:
採用 Google reCAPTCHA v3 保護機制的網站,在右下角會有個圖示。
![](https://kamadiam.com/wp-content/uploads/2021/03/reCAPTCHA-5.png)
滑鼠移過去會顯示隱私條款。
![](https://kamadiam.com/wp-content/uploads/2021/03/reCAPTCHA-icon.png)
reCAPTCHA v2
運作原理和主要特點:
驗證類型
[我不是機器人] 勾選框(Checkbox)
- 這是最簡單也是最常見的形式,用戶僅需點擊一個 “我不是機器人” 的勾選框。
- 如果系統認為用戶是真人,驗證會立即通過。
- 如果系統不確定,則會進行進一步的驗證,通常是圖像識別挑戰。
隱藏式 reCAPTCHA
- 這種類型對用戶是完全隱藏的,並且自動在背景中運行,根據用戶行為來判斷是否為真人。
![](https://kamadiam.com/wp-content/uploads/2023/10/image-33-1024x350.png)
運作原理
1. 用戶行為分析:reCAPTCHA v2 在用戶嘗試提交表單或互動前後,會分析用戶的行為,例如滑鼠的移動路徑、速度和點擊方式等。這有助於確定是否該用戶是一個真實人類還是一個機器人。
2.伺服器端驗證:當用戶在前端完成驗證時,例如通過了 “我不是機器人” 的勾選框,reCAPTCHA 會生成一個 “g-recaptcha-response” 的代碼。此代碼之後會被傳送到伺服器端,然後再從伺服器端與 Google 進行通信以確認其有效性。這個機制確保即使有人試圖在客戶端篡改 JavaScript,他們也無法欺騙伺服器。
3.二次驗證:在某些情況下,只是勾選 “我不是機器人” 的框可能不足以證明用戶是真人。這時,Google 可能會要求用戶進行額外的驗證,例如選擇包含某個物件(如交通標誌)的圖像。
這三個步驟結合在一起,提供了一個相對強大的防護機制,以區分真人與機器人,並確保網站不受到垃圾內容和濫用行為的侵擾。
reCAPTCHA v2 結合了多種技術和方法,以實現更高的安全性,同時也保持了相對良好的用戶體驗。
![](https://kamadiam.com/wp-content/uploads/2022/02/newCaptchaAnchor.gif)
如何申請 Google reCAPTCHA?
step 1
開啟網站 https://www.google.com/recaptcha/
點擊【v3 Admin Console】
![](https://kamadiam.com/wp-content/uploads/2021/03/reCAPTCHA-3-1024x83.png)
step 2
點擊【+】
![](https://kamadiam.com/wp-content/uploads/2021/03/reCAPTCHA-4-1024x114.png)
step 3
輸入網站資訊,申請一組 reCAPTCHA 可以使用在不同的網站。
![](https://kamadiam.com/wp-content/uploads/2021/03/reCAPTCHA-2-1024x987.png)
- 輸入容易區別管理的名稱。
- 選擇 reCAPTCHA 版本,先使用 v3 試試看。
- 設定作用網域,這是你要使用 reCAPTCHA 的網站。
![](https://kamadiam.com/wp-content/uploads/2021/03/reCAPTCHA-1-1024x813.png)
- 新增管理者 Email。
- 需要同意服務條款。
- 點擊【SUBMIT】完成。
![](https://kamadiam.com/wp-content/uploads/2021/03/reCAPTCHA-1024x696.png)
SITE KEY 和 SECRET KEY 之後會用到。
如何查詢 reCAPTCHA Keys
在管理介面右上可以看到設定圖示,點擊圖示。
![](https://kamadiam.com/wp-content/uploads/2021/03/reCAPTCHA-6-1024x46.png)
點擊 reCAPTCHA kys。
![](https://kamadiam.com/wp-content/uploads/2021/03/reCAPTCHA-7-1024x616.png)
下方就會出現 SITE KEY 和 SECRET KEY。
如果有需要作用在其它網站,可以在這個畫面新增。
如何使用 reCAPTCHA
使用 reCAPTCHA 需要寫程式整合在網頁中,參考 Google 說明。
如果我們使用 WordPress 架設網站,可以安裝安全性外掛,方便整合。
例如外掛 All In One WP Security & Firewall,注意這個外掛是使用 reCAPTCHA V2 版本。
V2 和 V3 各有不同的功能,並不是 V3 就比 V2 好。
詳細比較請參考 reCAPTCHA 特色比較 .
進入後台,點擊選單 WP Security -> Brute Force -> Login Captcha 頁面,可以設定使用 Google reCAPTCHA,先在這輸入上面取得的 Site Key 和 Secret Key ,再設定你想要在什麼畫面中插入圖形驗證碼。
![](https://kamadiam.com/wp-content/uploads/2022/01/screenshot-2022-01-21-AM-10.18.09-1024x180.png)
![](https://kamadiam.com/wp-content/uploads/2022/01/screenshot-2022-01-21-AM-10.18.26-1024x180.png)
![](https://kamadiam.com/wp-content/uploads/2022/01/screenshot-2022-01-21-AM-10.18.43-1024x180.png)
設定完成,之後在登入畫面就會出現 Google reCAPTCHA 驗證
![](https://kamadiam.com/wp-content/uploads/2022/01/screenshot-2022-01-21-AM-9.30.45.png)
另外也可以在留言表單放置 Google reCAPTCHA,防止機器人留言或垃圾留言。
進入後台,點擊選單 WP Security -> SPAM Prevention,如下圖勾選 Enable Captcha On Comment Forms。
![](https://kamadiam.com/wp-content/uploads/2022/01/screenshot-2022-01-21-AM-10.17.05-1024x350.png)
![](https://kamadiam.com/wp-content/uploads/2022/01/screenshot-2022-01-21-AM-10.38.26-1024x448.png)