推出 的新主控台體驗 AWS WAF
您現在可以使用更新後的體驗,在主控台的任何位置存取 AWS WAF 功能。如需詳細資訊,請參閱使用更新的主控台體驗。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
挑戰和權杖取得的選項
本節會比較挑戰和字符管理選項。
您可以使用 AWS WAF 應用程式整合 SDKs 或規則動作 和 來提供挑戰Challenge並取得權杖CAPTCHA。廣義而言,規則動作較容易實作,但會產生額外的成本、深入了解您的客戶體驗,而且需要 JavaScript。SDKs需要在用戶端應用程式中進行程式設計,但可以提供更好的客戶體驗、免費使用,而且可以與 JavaScript 或 Android 或 iOS 應用程式搭配使用。您只能將應用程式整合 SDKs與使用其中一個付費智慧型威脅緩解受管規則群組的保護套件或 Web ACLs 搭配使用,如下節所述。
Challenge 規則動作 | CAPTCHA 規則動作 | JavaScript SDK 挑戰 | 行動 SDK 挑戰 | |
---|---|---|---|---|
它是什麼 | 規則動作,透過向瀏覽器用戶端呈現無提示挑戰的間質性,強制執行對 AWS WAF 字符的取得 | 規則動作,透過向用戶端最終使用者提供視覺或音訊挑戰間質強制執行 AWS WAF 字符的取得 |
應用程式整合層,適用於用戶端瀏覽器和其他執行 JavaScript 的裝置。轉譯靜音挑戰並取得字符 |
應用程式整合層,適用於 Android 和 iOS 應用程式。原生轉譯靜音挑戰並取得字符 |
適合... | 針對支援 JavaScript 之用戶端的機器人工作階段和字符擷取強制執行的無提示驗證 | 對於支援 JavaScript 的用戶端,針對機器人工作階段和強制執行字符獲取的最終使用者和靜音驗證 | 針對機器人工作階段的無提示驗證,以及針對支援 JavaScript 的用戶端強制執行權杖擷取。 SDKs提供最低延遲,並對挑戰指令碼在應用程式中執行的位置進行最佳控制。 |
針對 Android 和 iOS 上原生行動應用程式的機器人工作階段和字符擷取強制執行的靜音驗證。 SDKs提供最低延遲,並對挑戰指令碼在應用程式中執行的位置進行最佳控制。 |
實作考量 | 實作為規則動作設定 | 實作為規則動作設定 | 需要保護套件或 Web ACL 中其中一個 ACFP、ATP 或 Bot Control 付費規則群組。 在用戶端應用程式中需要編碼。 |
需要保護套件或 Web ACL 中其中一個 ACFP、ATP 或 Bot Control 付費規則群組。 在用戶端應用程式中需要編碼。 |
執行時間考量 | 沒有有效字符之請求的侵入性流程。用戶端會重新導向至 AWS WAF 挑戰間質。新增網路往返,並需要 Web 請求的第二次評估。 | 沒有有效字符之請求的侵入性流程。用戶端會重新導向至 AWS WAF CAPTCHA 間質。新增網路往返,並需要 Web 請求的第二次評估。 | 可在幕後執行。讓您更能掌控挑戰體驗。 | 可在幕後執行。讓您更能掌控挑戰體驗。 |
需要 JavaScript | 是 | 是 | 是 | 否 |
支援的用戶端 | 執行 Javascript 的瀏覽器和裝置 | 執行 Javascript 的瀏覽器和裝置 | 執行 Javascript 的瀏覽器和裝置 | Android 和 iOS 裝置 |
支援單頁應用程式 (SPA) | 僅限強制執行。 您可以搭配 SDKs 使用 Challenge動作,以確保請求具有有效的挑戰字符。您無法使用規則動作將挑戰指令碼交付至頁面。 |
僅限強制執行。 您可以搭配 SDKs 使用 CAPTCHA動作,以確保請求具有有效的 CAPTCHA 字符。您無法使用規則動作將 CAPTCHA 指令碼交付至頁面。 |
是 | N/A |
額外費用 | 是,對於您明確指定的動作設定,可能是在您定義的規則中,或是在您使用的規則群組中做為規則動作覆寫。在所有其他情況下為否。 | 是,對於您明確指定的動作設定,可能是在您定義的規則中,或是在您使用的規則群組中做為規則動作覆寫。在所有其他情況下為否。 | 否,但需要其中一個付費規則群組 ACFP、ATP 或機器人控制。 | 否,但需要其中一個付費規則群組 ACFP、ATP 或機器人控制 。 |
如需這些選項相關成本的詳細資訊,請參閱 AWS WAF 定價
只需新增具有 Challenge或 CAPTCHA動作的規則,即可更輕鬆地執行挑戰並提供基本權杖強制執行。您可能需要使用規則動作,例如,如果您無法存取應用程式碼。
不過,如果您可以實作SDKs,相較於使用 Challenge動作,您可以節省保護套件的成本並減少用戶端 Web 請求的 Web ACL 評估延遲:
-
您可以在應用程式中的任何時間點撰寫 SDK 實作來執行挑戰。您可以在將 Web 請求傳送到受保護資源的任何客戶動作之前,在背景中取得字符。如此一來,字符即可與用戶端的第一個請求一起傳送。
-
如果您使用 Challenge動作實作規則來取得字符,則當用戶端第一次傳送請求時以及字符過期時,規則和動作需要額外的 Web 請求評估和處理。Challenge 動作會封鎖沒有有效、未過期字符的請求,並將挑戰交還給用戶端。用戶端成功回應挑戰後, 會使用有效的字符重新傳送原始 Web 請求,然後由保護套件或 Web ACL 再次評估。