本页介绍了如何创建 reCAPTCHA 密钥(也称为密钥),以验证网页上的用户互动。
reCAPTCHA 密钥代表如何为网站配置 recaptcha。该配置包括一些重要选项,例如是否显示人机识别系统挑战 。
准备工作
创建 reCAPTCHA 密钥
您可以为 Google Cloud 项目创建的 reCAPTCHA 密钥数量没有限制。最好为每个网站创建一个 reCAPTCHA 密钥 。
我们建议为预演环境和生产环境创建单独的 reCAPTCHA 密钥。否则,您可能要冒着测试环境中的数据污染 reCAPTCHA 的风险来进行风险分析 。
创建 reCAPTCHA 密钥最简单的方法是通过 reCAPTCHA 管理控制台。或者,您也可以使用 Google Cloud 控制台、reCAPTCHA Enterprise API 或 Google Cloud CLI。
管理控制台
-
前往 reCAPTCHA 管理控制台。
前往 reCAPTCHA 管理控制台
- 在标签字段中,输入一个可用于标识您网站的名称。
- 如果您要创建基于得分的键,请选择基于得分 (v3)。如果您要创建复选框键,请选择基于验证方式 (v2)。
- 如需添加网域,请输入您的网域名称,然后点击
add
。如需添加其他网域,您可以重复此步骤。您最多可以添加 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 密钥类型,执行适当的操作:
gcloud
如需创建 reCAPTCHA 键,请使用 gcloud recaptcha key create 命令。
在使用下面的命令数据之前,请先进行以下替换 :
执行 gcloud recaptcha key is create create 命令 :
Linux、macOS 或 Cloud Shell
gcloud recaptcha key create \ --web \ --display - name= \ --integration - type= \ --domains=
Windows (PowerShell)
gcloud recaptcha key create ` --web ` --display - name= ` --integration - type= ` --domains=
Windows ( cmd.exe )
gcloud recaptcha key create ^ --web ^ --display - name= ^ --integration - type= ^ --domains=
响应中包含新创建的 reCAPTCHA 密钥。
REST
如需了解密钥类型和集成类型的 API 参考文档信息,请参阅密钥和集成类型。
在使用任何请求数据之前,请先进行以下替换:
HTTP 方法和网址:
POST https://recaptchaenterprise.googleapis.com/v1/projects//key
请求 JSON 正文 :
{ "displayName": "", "webSettings": { "allowedDomains": "", "integrationType": "" } }
如需发送请求,请选择以下方式之一:
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//key"
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//key" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects//key/6Ldqgs0UAAAAAIn4k7YxEB-LwEh5S9-Gv6IIWB8m", "displayName": "", "webSettings": { "allowAllDomains": false, "allowedDomains": [ ], "allowAmpTraffic": false, "integrationType": "SCORE", "challengeSecurityPreference": "CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED" } }
注意 :创建 reCAPTCHA 密钥后,您可以修改或删除这些密钥。您无法恢复已删除的密钥。此外,您无法将 reCAPTCHA 密钥从一个 Google Cloud 项目迁移到另一个 Google Cloud 项目。
( 可选)查找旧版 reCAPTCHA 密钥
如果您要与不使用 reCAPTCHA Enterprise API 的第三方应用集成,则需要使用旧版密钥。
对于您创建的每个网站密钥,reCAPTCHA 都会创建一个旧版 reCAPTCHA Secret 密钥(旧版 Secret 密钥),您可以将其与第三方应用搭配使用 。
注意: 我们不建议在前端使用旧版 Secret Key,因为它会向用户显示,攻击者可能会滥用您的应用。
如需查找旧版密钥,请执行以下操作:
-
在 Google Cloud is 控制台中,前往 控制台中,前往 reCAPTCHA 页面 。
前往 reCAPTCHA
-
在 reCAPTCHA 密钥部分中,找到您创建的 reCAPTCHA 密钥,然后点击该密钥。
-
在密钥详情页面上,点击集成标签页下的使用旧版密钥 。
系统会打开一个对话框,其中包含有关如何使用旧版密钥的说明 。
后续步骤
© Copyright notes
The copyright of the article belongs to the author, please do not reprint without permission.
Related posts
No comments...