本页介绍了如何在您的网站上安装基于得分的网站密钥,而不会有任何挑战。通过基于得分的网站密钥,您可以在整个网站中添加 reCAPTCHA,而无需用户解决人机识别系统挑战。
基于分数的密钥安装后,reCAPTCHA 将发送经过加密的 reCAPTCHA 响应令牌(也称为令牌)时, 最终用户就可以触发互动。生成令牌后,您需要 在两分钟内创建评估,以获得每个请求的得分。 根据该得分,您可以了解用户互动产生的风险等级,并配置适当的响应。此外,基于得分的 密钥可以收集机器人活动遥测数据,以便针对新攻击或 目标。
为了改进 reCAPTCHA 的风险模型,建议您将 在网站的每个网页上使用 reCAPTCHA,因为它有助于理解 真实用户和聊天机器人如何在不同页面和操作之间转换。
准备工作
-
或者,您也可以复制现有基于得分的键的 ID,方法是 执行下列步骤之一:
如需从 Google Cloud 控制台复制现有密钥的 ID,请执行以下操作: 执行以下操作:
前往 reCAPTCHA 页面。
- 在 reCAPTCHA 密钥列表中,将指针悬停在要复制的密钥上,然后点击 。
- 如需使用 REST API 复制现有密钥的 ID,请使用 projects.keys.list 方法。
- 如需使用 gcloud CLI 复制现有密钥的 ID,请执行以下操作: 请使用 gcloud recaptcha keys list 命令。
将密钥放置到您的网站上
reCAPTCHA 在具有有关互动的上下文时效果最佳 。reCAPTCHA 会监控合法性和滥用 以了解您网站上的互动行为。
为获得最佳效果,请在网站中的以下位置安装基于得分的网站密钥:
- 表单
- 操作(用户互动)
- 在所有网页的背景中
基于得分的密钥不会中断用户,因此,您可以在不影响转化的情况下,使用基于得分的密钥运行 reCAPTCHA。
将密钥与前端集成
我们建议您在需要验证的用户互动时添加 reCAPTCHA 验证。例如,如果您想验证表单的提交操作,则需要为提交操作添加 reCAPTCHA 验证。
根据您希望添加 reCAPTCHA 验证的位置,选择相应的选项:
您可以在演示网站的源代码中查看每种选项的示例。
在用户互动时添加验证
如需在网页上加载 reCAPTCHA,请添加带有以下参数的 JavaScript API:
<head></head>
内基于分数的密钥 网页中的元素。<head> <script src="https://www.google.com/recaptcha/enterprise.js?render=KEY_ID"></script> .... </head>
reCAPTCHA 默认使用浏览器的语言。如果您想 指定其他语言,请使用
hl=LANG
属性 。 例如,如需使用法语,请指定以下内容:<script src="https://www.google.com/recaptcha/enterprise.js?hl=fr"></script>
。要了解支持的语言,请参阅 reCAPTCHA 语言代码。如果您想为徽章指定位置,请在脚本标记中将
badge=LOCATION
用作查询参数。例如www.google.com/recaptcha/enterprise.js?sitekey=KEY_ID&badge=bottomleft
。 默认情况下,该位置设置为bottomright
。其他可能的值包括inline
和bottomleft
。为用户添加 reCAPTCHA 验证 请执行以下操作:
如需确保
grecaptcha.enterprise.execute()
会在 reCAPTCHA 库加载后运行,请使用grecaptcha.enterprise.ready()
。针对要使用基于得分的密钥保护的每次互动调用
grecaptcha.enterprise.execute()
。在action
参数中为用户互动指定一个有意义的名称。如需更多指导 请参阅操作。以下示例展示了如何对登录操作调用
grecaptcha.enterprise.execute()
:<script> function onClick(e) { e.preventDefault(); grecaptcha.enterprise.ready(async () => { const token = await grecaptcha.enterprise.execute('KEY_ID', {action: 'LOGIN'}); // IMPORTANT: The 'token' that results from execute is an encrypted response sent by // reCAPTCHA to the end user's browser. // This token must be validated by creating an assessment. // See https://cloud.google.com/recaptcha/docs/create-assessment }); } </script>
grecaptcha.enterprise.execute()
会生成令牌,如以下示例所示:03AGdBq27tvcDrfiRuxQnyKs-SarXVzPODXLlpiwNsLqdm9BSQQRtxhkD-Wv6l2vBSnL_JQd80FZp3IeeF_TxNMrqhyQchk7hmg_ypDctt_F5RTr9zNO9TSDX3Fy0qHQTuaM9E3hrAkA1v1l7D-fCreg7uq8zoudfh1ZRmN49-2iAMAn4E8_ff-nmlLTNGVZmCSyeze-5xM24pM_JhhUVcCMIDKYtDUnr2imxg2ubIqMscCZGUtdXNUO_LRSzuwWDlLyAr3V2nVn29Z48PQa2QzbymEXzO9pCtoGQmY7kiZ8ILfD9DAJSSyUTMwJXVJptUeBmLM341fq_STYZBbPQJ0zYOEDvJoFsIwGMfuphkDet0nK56b0mkzaL8RCRy2oK31Mcx6n3PhGkCnQ6QIhiV5ZVmV1Hz9M3w99zYw6ekc3wPCNMZ6V6x1ApVpIk3reFfByRQ0C0_pRWwbKZHLXQ_oSTI1UI7kyH1VeXngsJAx2l7zcp0hQNipajC4YwL7Jb8X4cCD0NeiaY1YCrI5j87mK5axcMikq460I4niIFeDBlHGF-ndqu3CJstosAur-C_x827f-dPPjA9Vrw8MDb3x4KUb0vbA8xE9mJxPYGY0rPCR27vJ38Voa7DjEBGX9c-iufv5_wfj-yIfIAHy0iijnRLI0CVkWF2-iPdWv7LnkTwL3WKbF_MrEGZXmtyLX9dEZArfxmToeMuSdYkfikkgR2-k4Xzxlz15RbHJuWSAYqEyTTnpUXmOvDuTN92b0kYqbRelcLUI_Shm-8dq9e-L7K6YWQv32gV6NukZKY15dyrJaW10frBgTOGSTTpIyB7MNEL8S27WjWtOb-zWsgimIhoRNfS8BiJWkmK4gTj51m7Wur-qsDbHgV6gXlMvjJs_B7oXX-mKsKhY9ACtwukotBelGYQOvf1RDHjH3Yi1RDfELBY6AkwUK4tq8cACVGpCwa0gKUo-sbORTsGu_r7VTzYo1AaZD5HV4XUm8yoqszel6DmIfkJcI7PfzzvfUJuvMQ1itZSzpzuth3glbKBYsIjbKqG-q8cxtZ7u0l32j46ASo2zlCJWUjwP3W1P7MUenEoIZtjlyTB_tT6Fk8RxGgRv3oLP7NPFJGs9ZGOAl6tBHpZF8Y_FqEOCMKtBl2JYOE5h6_Es3buSdiMm7mtLr64pboGiEColF1vbVvYpyaaqGFPXBM6ekZSXEXLAI0_7rj_fCLgnB21KXfac95vZbM9vyJCASvDcWKwqajQwy5aGMNe9GtbMogYbZfz5UGWAIi24Vd8KSv3qKOOwvzbcw4H0HYdsBXA
令牌生成后,将 reCAPTCHA 令牌发送到您的后端,并在两分钟内创建评估。
对于 WAF 集成,如果要集成操作令牌密钥, 您必须将令牌附加到预定义的请求标头, 创建评估。如需了解详情,请参阅实现 reCAPTCHA 操作令牌。
在 HTML 按钮中添加 reCAPTCHA
如需在网页上加载 reCAPTCHA,请在网页的
<head></head>
元素中添加带有基于得分的密钥的 JavaScript API。<head> <script src="https://www.google.com/recaptcha/enterprise.js?render=KEY_ID"></script> .... </head>
reCAPTCHA 默认使用浏览器的语言。如果您想指定其他语言,请在脚本中使用
hl=LANG
属性。例如,要使用法语,请指定以下内容:<script src="https://www.google.com/recaptcha/enterprise.js?hl=fr"></script>
。 如需了解支持的语言,请参阅 reCAPTCHA 的语言代码。如需在简单的 HTML 按钮中添加 reCAPTCHA,请执行以下操作:
定义用于处理令牌的回调函数。
<script> function onSubmit(token) { document.getElementById("demo-form").submit(); } // Use `requestSubmit()` for extra features like browser input validation. </script>
如需了解详情,请参阅 requestSubmit() 方法。
向您的 html 按钮添加属性。
<button class="g-recaptcha" data-sitekey="KEY_ID" data-callback='onSubmit' data-action='submit'>Submit</button>
如果要为显示图指定位置,请使用
data-badge=LOCATION
属性的值,即具有class=g-recaptcha
的元素。默认情况下,该位置设置为bottomright
。其他可能的值包括inline
和bottomleft
。当使用此按钮在您的网站上提交表单时,
g-recaptcha-response
POST 参数包含响应令牌。
在令牌生成后,发送 reCAPTCHA 令牌 并在两分钟内创建评估
对于 WAF 集成,如果要集成操作令牌密钥, 您必须将令牌附加到预定义的请求标头, 创建评估。有关详情,请参阅 实现 reCAPTCHA 操作令牌。
后续步骤
- 要评估 reCAPTCHA 响应令牌,请创建评估。