如需将可信 IP 地址从 reCAPTCHA 强制执行中排除,您可以为与您的网站关联的 reCAPTCHA 密钥创建许可名单,并将 IP 地址和子网添加到该许可名单。
您还可以从许可名单中移除 IP 地址和子网,并列出添加到许可名单的 IP 地址和子网。
准备工作
收集您要添加到许可名单的所有 IP 地址和子网。
确定要从许可名单中移除的 IP 地址和子网。
确保您具有以下 Identity and Access Management (IAM) 角色:reCAPTCHA Enterprise Admin (
roles/recaptchaenterprise.admin
)。
将 IP 地址或子网添加到许可名单
将 IP 地址或子网添加到许可名单后,reCAPTCHA 会跳过验证,并始终为来自该 IP 地址或子网的请求分配 0.9
分数。您最多可以向许可名单中添加 100 个 IP 地址和子网。
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
在使用下面的命令数据之前,请先进行以下替换:
KEY :与您的网站关联的 reCAPTCHA 密钥。IP_ADDRESS_OR_SUBNET :需要添加到许可名单中的 IP 地址或子网。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud recaptcha keys add-ip-override
KEY \ --ip=IP_ADDRESS_OR_SUBNET \ --override=ALLOWWindows (PowerShell)
gcloud recaptcha keys add-ip-override
KEY ` --ip=IP_ADDRESS_OR_SUBNET ` --override=ALLOWWindows (cmd.exe)
gcloud recaptcha keys add-ip-override
KEY ^ --ip=IP_ADDRESS_OR_SUBNET ^ --override=ALLOW
在使用任何请求数据之前,请先进行以下替换:
KEY :与您的网站关联的 reCAPTCHA 密钥。IP_ADDRESS_OR_SUBNET :需要添加到许可名单中的 IP 地址或子网。PROJECT_ID :您的 Google Cloud 项目 ID
HTTP 方法和网址:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID /keys/KEY :addIpOverride
请求 JSON 正文:
{ "ip_override_data": { "ip": "IP_ADDRESS_OR_SUBNET ", "override_type": "ALLOW" } }
如需发送请求,请选择以下方式之一:
将请求正文保存在名为 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/KEY :addIpOverride"
将请求正文保存在名为 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/KEY :addIpOverride" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
将 IP 地址或子网添加到许可名单后,更改会在几分钟内生效。
从许可名单中移除 IP 地址或子网
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
在使用下面的命令数据之前,请先进行以下替换:
KEY :与您的网站关联的 reCAPTCHA 密钥。IP_ADDRESS_OR_SUBNET :需要添加到许可名单中的 IP 地址或子网。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud recaptcha keys remove-ip-override
KEY \ --ip=IP_ADDRESS_OR_SUBNET \ --override=ALLOWWindows (PowerShell)
gcloud recaptcha keys remove-ip-override
KEY ` --ip=IP_ADDRESS_OR_SUBNET ` --override=ALLOWWindows (cmd.exe)
gcloud recaptcha keys remove-ip-override
KEY ^ --ip=IP_ADDRESS_OR_SUBNET ^ --override=ALLOW
在使用任何请求数据之前,请先进行以下替换:
KEY :与您的网站关联的 reCAPTCHA 密钥。IP_ADDRESS_OR_SUBNET :需要添加到许可名单中的 IP 地址或子网。PROJECT_ID :您的 Google Cloud 项目 ID
HTTP 方法和网址:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID /keys/KEY :removeIpOverride
请求 JSON 正文:
{ "ip_override_data": { "ip": "IP_ADDRESS_OR_SUBNET ", "override_type": "ALLOW" } }
如需发送请求,请选择以下方式之一:
将请求正文保存在名为 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/KEY :removeIpOverride"
将请求正文保存在名为 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/KEY :removeIpOverride" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
从许可名单中移除 IP 地址或子网后,更改会在几分钟内生效。
列出许可名单中的所有 IP 地址
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
在使用下面的命令数据之前,请先进行以下替换:
KEY :与您的网站关联的 reCAPTCHA 密钥。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud recaptcha keys list-ip-overrides
KEY --format=jsonWindows (PowerShell)
gcloud recaptcha keys list-ip-overrides
KEY --format=jsonWindows (cmd.exe)
gcloud recaptcha keys list-ip-overrides
KEY --format=json
在使用任何请求数据之前,请先进行以下替换:
KEY :与您的网站关联的 reCAPTCHA 密钥。PROJECT_ID :您的 Google Cloud 项目 ID
HTTP 方法和网址:
GET https://recaptchaenterprise.googleapis.com/v1/projects//keys/ :listIpOverrides
如需发送请求,请选择以下方式之一:
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://recaptchaenterprise.googleapis.com/v1/projects//keys/ :listIpOverrides"
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects//keys/ :listIpOverrides" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
{ "ipOverrides": [ { "ip": "1.2.3.4", "overrideType": "ALLOW" } ], "nextPageToken": "" }