使用验证码 JavaScript API - AWS WAFAWS Firewall Manager、和 AWS Shield Advanced

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用验证码 JavaScript API

本节提供了使用 CAPTCHA 集成 API 的说明。

验证码 JavaScript API 允许您配置验证码拼图并根据您的期望将其放在客户端应用程序中的任意位置。在最终用户成功完成验证码拼图后,此 API 利用智能威胁 JavaScript API 的功能来获取和使用 AWS WAF 令牌。

首先在测试环境中实施 JavaScript 集成,然后在生产环境中实施。有关其他编码指导,请参阅以下各节。

使用验证码集成 API
  1. 安装 API

    1. 登录 AWS Management Console,然后打开 AWS WAF 控制台,网址为:https://console.aws.amazon.com/wafv2/

    2. 在导航窗格中,选择 应用程序集成。在应用程序集成页面上,您可以看到选项卡式选项。

    3. 选择验证码集成

    4. 复制列出的 JavaScript 集成脚本标签,以便在集成中使用。

    5. 在应用程序页面代码的 <head> 部分中,插入您复制的脚本标签。此功能使验证码拼图可供配置和使用。

      <head> <script type="text/javascript" src="integrationURL/jsapi.js" defer></script> </head>

      <script> 列表使用 defer 属性进行配置,但如果您想让页面有不同的行为,则可以将设置更改为 async

      如果智能威胁集成脚本尚不存在,验证码脚本还会自动加载该脚本。智能威胁集成脚本使您的客户端应用程序在页面加载时自动在后台检索令牌,并提供您使用验证码 API 所需的其他令牌管理功能。

  2. (可选)为客户端的令牌添加域配置 – 默认情况下,在 AWS WAF 创建令牌时,它使用与 Web ACL 关联的资源的主机域。要为 JavaScript API 提供其他域名,请按照 提供用于令牌的域名 中的指导进行操作。

  3. 获取客户端的加密 API 密钥 – 验证码 API 需要一个包含有效客户端域列表的加密 API 密钥。AWS WAF 使用此密钥来验证您在集成中使用的客户端域是否已获准使用 AWS WAF 验证码。要生成 API 密钥,请按照 管理 JS CAPTCHA API 的 API 密钥 中的指导进行操作。

  4. 编写验证码控件实施代码 – 在页面中要使用它的位置实施 renderCaptcha() API 调用。有关配置和使用此功能的信息,请参阅以下各节 CAPTCHA JavaScript API 规范如何显示验证码拼图

    验证码实施与智能威胁集成 API 集成,用于令牌管理和运行使用 AWS WAF 令牌的提取调用。有关使用这些 API 的指导,请参阅 使用智能威胁 JavaScript API

  5. 在您的 Web ACL 中添加令牌验证 – 在 Web ACL 中添加至少一条规则,用于检查客户端发送的 Web 请求中是否存在有效的验证码令牌。您可以使用 CAPTCHA 规则操作进行检查,如 CAPTCHA 以及 Challenge 在 AWS WAF中 中所述。

    新增的 Web ACL 可验证发往受保护端点的请求是否包含您在客户端集成中获取的令牌。包含有效、未过期的验证码令牌的请求会通过 CAPTCHA 规则操作检查,并且不会向您的最终用户显示其他验证码拼图。

实现 JavaScript API 后,就可以查看 CloudWatch 指标,了解验证码拼图尝试次数和解决方案。有关指标和维度的详细信息,请参阅 账户指标和维度