本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
质询和令牌获取选项
本节比较了质询和令牌管理选项。
您可以使用 AWS WAF 应用程序集成软件开发工具包或规则操作 Challenge 和 CAPTCHA 来提供质询并获取令牌。从广义上讲,规则操作更易于实施,但它们会产生额外的成本,会更多地影响您的客户体验,并且需要使用 JavaScript。这些软件开发工具包需要在您的客户端应用程序中进行编程,但它们可以提供更好的客户体验,可以免费使用,并且可以与 JavaScript 或 Android 或 iOS 应用程序一起使用。您只能将应用程序集成软件开发工具包与使用某个付费智能威胁缓解托管规则组的 Web ACL 一起使用,如下一节所述。
Challenge 规则操作 | CAPTCHA 规则操作 | JavaScript 软件开发工具包质询 | 移动软件开发工具包质询 | |
---|---|---|---|---|
什么是 | 通过向浏览器客户端提供静默质询插页式广告来强制获取 AWS WAF 令牌的规则操作 | 通过向客户端最终用户展示视觉或音频质询插页式广告来强制获取 AWS WAF 令牌的规则操作 |
应用程序集成层,适用于客户端浏览器和其他执行 JavaScript 的设备。呈现静默质询并获取令牌 |
应用集成层,适用于 Android 和 iOS 应用程序。原生呈现静默质询并获取令牌 |
不错的选择…… | 对机器人会话进行静默验证,并为支持 JavaScript 的客户端强制执行令牌获取操作 | 对机器人会话进行最终用户和静默验证,并为支持 JavaScript 的客户端强制执行令牌获取操作 | 对机器人会话进行静默验证,并为支持 JavaScript 的客户端强制执行令牌获取操作。 这些软件开发工具包提供了最低延迟,并且可以最好地控制质询脚本在应用程序中的运行位置。 |
针对 Android 和 iOS 上的原生移动应用进行静默验证和令牌强制获取。 这些软件开发工具包提供了最低延迟,并且可以最好地控制质询脚本在应用程序中的运行位置。 |
实施的注意事项 | 作为规则操作设置实施 | 作为规则操作设置实施 | 需要 Web ACL 中的 ACFP、ATP 或机器人控制功能付费规则组之一。 需要在客户端应用程序中进行编码。 |
需要 Web ACL 中的 ACFP、ATP 或机器人控制功能付费规则组之一。 需要在客户端应用程序中进行编码。 |
运行时系统注意事项 | 没有有效令牌的请求的侵入性流。客户端被重定向到 AWS WAF 质询插页式广告。添加网络往返行程,并且需要对 Web 请求进行二次评估。 | 没有有效令牌的请求的侵入性流。客户端被重定向到 AWS WAF 验证码插页式广告。添加网络往返行程,并且需要对 Web 请求进行二次评估。 | 可以在幕后运行。让您更好地控制质询体验。 | 可以在幕后运行。让您更好地控制质询体验。 |
需要 JavaScript | 是 | 是 | 是 | 否 |
支持的客户端 | 执行 Javascript 的浏览器和设备 | 执行 Javascript 的浏览器和设备 | 执行 Javascript 的浏览器和设备 | Android 和 iOS 设备 |
支持单页应用程序 (SPA) | 仅限强制执行。 您可以将 Challenge 操作与软件开发工具包结合使用,以确保请求具有有效的质询令牌。您不能使用规则操作将质询脚本传送到页面。 |
仅限强制执行。 您可以将 CAPTCHA 操作与软件开发工具包结合使用,以确保请求具有有效的验证码令牌。您不能使用规则操作将验证码脚本传送到页面。 |
是 | 不适用 |
额外费用 | 可以,适用于您在定义的规则中或在您使用的规则组中作为规则操作优先级明确指定的操作设置。在所有其他情况下都不是。 | 可以,适用于您在定义的规则中或在您使用的规则组中作为规则操作优先级明确指定的操作设置。在所有其他情况下都不是。 | 不需要,但需要付费规则组 ACFP、ATP 或 机器人控制功能。 | 不需要,但需要付费规则组 ACFP、ATP 或 机器人控制功能。 |
有关与这些选项相关的成本的详细信息,请参阅 AWS WAF 定价
只需添加带有 Challenge 或 CAPTCHA 操作的规则,即可更轻松地运行质询并提供基本的令牌强制执行。例如,如果您无权访问应用程序代码,则可能需要使用规则操作。
但是,与使用 Challenge 操作相比,如果您可以实施软件开发工具包,则可以节省成本并减少客户端 Web 请求的 Web ACL 评估延迟:
-
您可以编写自己的软件开发工具包实施,以便在应用程序中的任何位置运行质询。您可以在后台获取令牌,然后再进行任何会向您的受保护资源发送 Web 请求的客户操作。这样,令牌就可以随客户端的第一个请求一起发送。
-
相反,如果您通过实施带有 Challenge 操作的规则来获取令牌,则在客户端首次发送请求和令牌到期时,规则和操作需要额外的 Web 请求评估和处理。Challenge 操作会阻止不具备有效的未过期令牌的请求,并将质询插页式广告发送回客户端。在客户端成功响应质询后,插页式广告会重新发送包含有效令牌的原始 Web 请求,然后由 Web ACL 对其进行第二次评估。