

**推出 的新主控台體驗 AWS WAF**

您現在可以使用更新後的體驗，在主控台的任何位置存取 AWS WAF 功能。如需詳細資訊，請參閱[使用 主控台](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用智慧型威脅 JavaScript API
<a name="waf-js-challenge-api"></a>

本節提供在用戶端應用程式中使用智慧型威脅 JavaScript API 的指示。

智慧型威脅 APIs 提供對使用者瀏覽器執行無提示挑戰的操作，以及處理提供成功挑戰證明和 CAPTCHA 回應的 AWS WAF 字符的操作。

先在測試環境中實作 JavaScript 整合，然後在生產環境中實作。如需其他編碼指引，請參閱以下各節。

 

**使用智慧型威脅 APIs**

1. **安裝 APIs** 

   如果您使用 CAPTCHA API，則可以略過此步驟。當您安裝 CAPTCHA API 時，指令碼會自動安裝智慧型威脅 APIs。

   1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/wafv2/homev2](https://console.aws.amazon.com/wafv2/homev2) 開啟 AWS WAF 主控台。

   1. 在導覽窗格中，選擇 **Application integration (應用程式整合)**。在**應用程式整合**頁面上，您可以看到標籤選項。

   1. 選取**智慧型威脅整合**

   1. 在 索引標籤中，選取您要整合的保護套件 (Web ACL)。保護套件 (Web ACL) 清單僅包含使用`AWSManagedRulesACFPRuleSet`受管規則群組、`AWSManagedRulesATPRuleSet`受管規則群組或`AWSManagedRulesBotControlRuleSet`受管規則群組的目標保護層級的保護套件 (Web ACLs)。

   1. 開啟 **JavaScript SDK** 窗格，並複製指令碼標籤以用於整合。

   1. 在應用程式頁面程式碼的 `<head>`區段中，插入您為保護套件複製的指令碼標籤 (Web ACL)。此包含項目會導致您的用戶端應用程式在頁面載入的背景中自動擷取字符。

      ```
      <head>
          <script type="text/javascript" src="{{protection pack (web ACL) integration URL}}/challenge.js” defer></script>
      <head>
      ```

      此`<script>`清單使用 `defer` 屬性設定，但如果`async`您想要為頁面採取不同的行為，您可以將設定變更為 。

1. **（選用） 新增用戶端字符的網域組態** – 在預設情況下，當 AWS WAF 建立字符時，它會使用與保護套件相關聯的資源的主機網域 (Web ACL)。若要提供 JavaScript APIs 的其他網域，請遵循 中的指引[提供用於字符的網域](waf-js-challenge-api-set-token-domain.md)。

1. **為您的智慧型威脅整合編寫程式碼** – 撰寫程式碼，以確保字符擷取在用戶端將其請求傳送至受保護的端點之前完成。如果您已經使用 `fetch` API 進行呼叫，則可以取代整合`fetch`包裝函式 AWS WAF 。如果您不使用 `fetch` API，則可以改用 AWS WAF 整合`getToken`操作。如需編碼指引，請參閱下列各節。

1. 在**保護套件 (Web ACL) 中新增權杖驗證** – 將至少一個規則新增至保護套件 (Web ACL)，以檢查用戶端傳送的 Web 請求中是否有有效的挑戰權杖。您可以使用規則群組來檢查和監控挑戰字符，例如 Bot Control 受管規則群組的目標層級，而且您可以使用Challenge規則動作來檢查，如中所述[CAPTCHA 和 Challenge 中的 AWS WAF](waf-captcha-and-challenge.md)。

   保護套件 (Web ACL) 新增項目會驗證對受保護端點的請求是否包含您在用戶端整合中取得的字符。包含有效、未過期字符的請求會通過Challenge檢查，並且不會向您的用戶端傳送另一個無提示挑戰。

1. **（選用） 封鎖缺少權杖的請求** – 如果您使用 APIs搭配 ACFP 受管規則群組、ATP 受管規則群組或 Bot Control 規則群組的目標規則，這些規則不會封鎖缺少權杖的請求。若要封鎖缺少字符的請求，請遵循 中的指引[封鎖沒有有效 AWS WAF 字符的請求](waf-tokens-block-missing-tokens.md)。

**Topics**
+ [智慧型威脅 API 規格](waf-js-challenge-api-specification.md)
+ [如何使用整合`fetch`包裝函式](waf-js-challenge-api-fetch-wrapper.md)
+ [如何使用整合 `getToken`](waf-js-challenge-api-get-token.md)