使用智慧型威脅 JavaScript API - AWS WAFAWS Firewall Manager、 AWS Shield Advanced和 AWS Shield 網路安全主管

推出 的新主控台體驗 AWS WAF

您現在可以使用更新後的體驗,在主控台的任何位置存取 AWS WAF 功能。如需詳細資訊,請參閱使用更新的主控台體驗

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

使用智慧型威脅 JavaScript API

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

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

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

使用智慧型威脅 APIs
  1. 安裝 APIs

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

    1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/wafv2/homev2 開啟 AWS WAF 主控台。

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

    3. 選取智慧型威脅整合

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

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

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

      <head> <script type="text/javascript" src="protection pack or web ACL integration URL/challenge.js” defer></script> <head>

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

  2. (選用) 新增用戶端字符的網域組態 – 根據預設,當 AWS WAF 建立字符時,它會使用與保護套件或 Web ACL 相關聯之資源的主機網域。若要提供 JavaScript APIs 的其他網域,請遵循 中的指引提供用於字符的網域

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

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

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

  5. (選用) 封鎖缺少權杖的請求 – 如果您搭配 ACFP 受管規則群組、ATP 受管規則群組或 Bot Control 規則群組的目標規則使用 APIs,這些規則不會封鎖缺少權杖的請求。若要封鎖缺少字符的請求,請遵循 中的指引封鎖沒有有效 AWS WAF 字符的請求