使用验证码 API JavaScript - Amazon WAFAmazon Firewall Manager、和 Amazon Shield Advanced
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用验证码 API JavaScript

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

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

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

    1. 登录 Amazon Web Services Management Console 并打开 Amazon 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. (可选)为客户端的令牌添加域配置-默认情况下,在 Amazon WAF 创建令牌时,它将使用与 Web ACL 关联的资源的主机域。要为 JavaScript API 提供其他域名,请按照中的指南进行操作提供用于令牌的域名

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

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

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

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

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