本頁說明如何建立 reCAPTCHA 金鑰 (也稱為「金鑰」),以驗證網頁上的使用者互動。
reCAPTCHA 金鑰代表網站的 reCAPTCHA 設定。設定包括是否顯示 CAPTCHA 驗證問題等重要選項。
事前準備
- 準備 reCAPTCHA 環境。
- 確認您具備下列身分與存取權管理角色:reCAPTCHA Enterprise 管理員 (
roles/recaptchaenterprise.admin
)。 - 選擇最適合您用途的金鑰類型。
建立 reCAPTCHA 金鑰
您可以為 Google Cloud 專案建立的 reCAPTCHA 金鑰數量沒有限制。建議每個網站都建立一組 reCAPTCHA 金鑰。
建議您為測試和正式環境分別建立 reCAPTCHA 金鑰。否則,您可能會使用測試環境的資料,汙染 reCAPTCHA 風險分析。
如要建立 reCAPTCHA 金鑰,最簡單的方式是透過 reCAPTCHA 管理主控台。您也可以使用 Google Cloud 控制台、reCAPTCHA Enterprise API 或 Google Cloud CLI。
管理控制台
前往 reCAPTCHA 管理控制台。
- 在「標籤」欄位中,輸入可用於識別網站的名稱。
- 如要建立以分數為依據的金鑰,請選取「以分數為依據 (v3)」。如要建立核取方塊金鑰,請選取「驗證問題 (v2)」。
- 如要新增網域,請輸入網域名稱,然後按一下
如要新增其他網域,請重複這個步驟。最多可新增 250 個網域。
。
- 如果您是 Google Cloud 控制台的新使用者,請詳閱服務條款,然後勾選核取方塊。
- 按一下「提交」。
如果您是 Google Cloud 控制台的新手,系統會建立 Google Cloud 專案並啟用必要的 API,方便您開始使用。如果您已有 Google Cloud 專案,系統會為專案啟用必要的 API,方便您開始使用。
Cloud 控制台
前往 Google Cloud 控制台的「reCAPTCHA」reCAPTCHA頁面。
確認頁面頂端的資源選取器中顯示了專案名稱。
如果沒有看到專案名稱,請按一下資源選取器,然後選取專案。
- 按一下「建立金鑰」。
- 在「顯示名稱」欄位中,輸入金鑰的顯示名稱。
- 在「應用程式類型」部分,選取「網頁」。
系統會顯示「網域清單」部分。
-
輸入網站的網域名稱:
- 在「網域清單」部分,按一下「新增網域」。
- 在「網域」欄位中,輸入網域名稱。
選用:如要新增其他網域,請按一下「新增網域」,然後在「網域」欄位中輸入其他網域名稱。最多可新增 250 個網域。
如果是網站,reCAPTCHA 金鑰會專屬於您指定的網域和子網域。如果網站是從多個網域提供服務,可以指定多個網域。 如果您指定網域 (例如
examplepetstore.com
),就不必指定子網域 (例如subdomain.examplepetstore.com
)。如要在超過 250 個網域上使用金鑰,請點選「停用網域驗證」切換鈕。 reCAPTCHA 隨即會忽略網域清單。 您必須檢查所建立評估中的
tokenProperties.hostname
欄位,自行執行網域驗證。
- 根據要為網站建立的 reCAPTCHA 金鑰類型,執行適當動作:
-
如要保護網域和子網域的 reCAPTCHA 金鑰,請務必關閉「停用網域驗證」切換鈕。
停用網域驗證會造成安全風險,因為網站沒有任何限制,任何人都能存取及使用 reCAPTCHA 金鑰。
- 如要允許將這組以分數為準的金鑰用於 Accelerated Mobile Pages (AMP),請開啟「可在 AMP 頁面中使用這組金鑰」切換鈕。
如要為非正式版環境指定分數,讓金鑰在為該環境建立任何評估時傳回,請按照下列步驟操作:
- 按一下「下一步 (選用)」
- 在「其他設定」步驟中,按一下「您建立的這組金鑰是否僅供測試之用?」切換鈕。
- 使用「設定分數」滑桿指定介於 0 到 1.0 的分數。
- 按一下 [Create key] (建立金鑰)。
-
如要保護網域和子網域的 reCAPTCHA 金鑰,請務必關閉「停用網域驗證」切換鈕。
停用網域驗證會造成安全風險,因為網站沒有任何限制,任何人都能存取及使用 reCAPTCHA 金鑰。
- 按一下「下一步」(選用)。
- 在「其他設定」步驟中,開啟「你會使用挑戰嗎?」 切換。
- 選取適當的「驗證安全性」選項。
「驗證」安全選項可控制系統提示使用者進行二次驗證的機率,二次驗證會要求使用者根據識別出的類別選取圖片 (例如選取含有機車或樓梯的圖片)。
如要確保獲得最佳防詐欺保護,請選取「嚴格」。
如果選取「簡單」,使用者較不容易遇到視覺驗證提示。
-
如要為非正式版環境指定分數,讓金鑰在為該環境建立任何評估時傳回,請按照下列步驟操作:
- 按一下「您建立的這組金鑰是否僅供測試之用?」切換鈕。
- 使用「設定分數」滑桿指定介於 0 到 1.0 的分數。
- 選取適當的「挑戰類型」選項。
- 自動有時會顯示挑戰。
- No CAPTCHA 不會顯示驗證問題,
- 不需要解題的驗證方法會顯示圖片,但無法通過驗證。
- 按一下「建立金鑰」。
新建立的金鑰會列在「reCAPTCHA keys」(reCAPTCHA 金鑰) 頁面。
建立計分型 reCAPTCHA 金鑰
新建立的金鑰會列在「reCAPTCHA keys」(reCAPTCHA 金鑰) 頁面。
建立核取方塊 reCAPTCHA 金鑰
gcloud
如要建立 reCAPTCHA 金鑰,請使用 gcloud recaptcha keys create 指令。
使用下方的任何指令資料之前,請先替換以下項目:
- DISPLAY_NAME:金鑰名稱。通常是網站名稱。
- INTEGRATION_TYPE:整合類型。
請根據金鑰類型指定下列值:
score
,取得計分金鑰。checkbox
核取方塊鍵。
- DOMAIN_NAME:允許使用金鑰的網站網域或子網域。
以逗號分隔清單的形式指定多個網域。
如要在超過 250 個網域上使用金鑰,請指定
--allow-all-domains
來停用網域驗證。 reCAPTCHA 隨後會忽略網域清單。 您必須檢查所建立評估中的tokenProperties.hostname
欄位,自行執行網域驗證。停用網域驗證會造成安全風險,因為網站沒有任何限制,任何人都能存取及使用 reCAPTCHA 金鑰。
執行 gcloud recaptcha keys create 指令:
Linux、macOS 或 Cloud Shell
gcloud recaptcha keys create \ --web \ --display-name=DISPLAY_NAME \ --integration-type=INTEGRATION_TYPE \ --domains=DOMAIN_NAME
Windows (PowerShell)
gcloud recaptcha keys create ` --web ` --display-name=DISPLAY_NAME ` --integration-type=INTEGRATION_TYPE ` --domains=DOMAIN_NAME
Windows (cmd.exe)
gcloud recaptcha keys create ^ --web ^ --display-name=DISPLAY_NAME ^ --integration-type=INTEGRATION_TYPE ^ --domains=DOMAIN_NAME
回應包含新建立的 reCAPTCHA 金鑰。
REST
如要查看金鑰類型和整合類型的 API 參考資訊,請參閱「金鑰」和「整合類型」。使用任何要求資料之前,請先替換以下項目:
- DISPLAY_NAME:金鑰名稱。通常是網站名稱。
- INTEGRATION_TYPE:整合類型。
請根據金鑰類型指定下列值:
score
,取得計分金鑰。checkbox
核取方塊鍵。
- DOMAIN_NAME:允許使用金鑰的網站網域或子網域。
以逗號分隔清單的形式指定多個網域。
如要在超過 250 個網域上使用金鑰,請指定
--allow-all-domains
來停用網域驗證。 reCAPTCHA 隨後會忽略網域清單。 您必須檢查所建立評估中的tokenProperties.hostname
欄位,自行執行網域驗證。停用網域驗證會造成安全風險,因為網站沒有任何限制,任何人都能存取及使用 reCAPTCHA 金鑰。
HTTP 方法和網址:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys
JSON 要求主體:
{ "displayName": "DISPLAY_NAME", "webSettings": { "allowedDomains": "DOMAINS", "integrationType": "TYPE_OF_INTEGRATION" } }
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json
的檔案中,然後執行下列指令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"
PowerShell
將要求主體儲存在名為 request.json
的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content
您應該會收到如下的 JSON 回應:
{ "name": "projects/project-id/keys/6Ldqgs0UAAAAAIn4k7YxEB-LwEh5S9-Gv6IIWB8m", "displayName": "DISPLAY_NAME", "webSettings": { "allowAllDomains": false, "allowedDomains": [ DOMAINS ], "allowAmpTraffic": false, "integrationType": "SCORE", "challengeSecurityPreference": "CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED" } }
(選用) 尋找舊版 reCAPTCHA 密鑰
如要整合不使用 reCAPTCHA Enterprise API 的第三方應用程式,您需要舊版密鑰。
每建立一組網站金鑰,reCAPTCHA 就會建立一組舊版 reCAPTCHA 密鑰 (舊版密鑰),供您搭配第三方應用程式使用。
如需 reCAPTCHA Classic 金鑰的密鑰,請將金鑰遷移至 reCAPTCHA Google Cloud,然後找出舊版密鑰。
如要找出舊版私密金鑰,請按照下列步驟操作:
前往 Google Cloud 控制台的「reCAPTCHA」reCAPTCHA頁面。
在「reCAPTCHA Keys」(reCAPTCHA 金鑰) 區段中,找出您建立的 reCAPTCHA 金鑰,然後按一下該金鑰。
在「重要詳細資料」頁面的「整合」分頁下方,按一下「使用舊版金鑰」。 系統會開啟對話方塊,顯示如何使用舊版密鑰。