本文提供 reCAPTCHA 防火牆政策範例,您可以根據 reCAPTCHA WAF 功能的實作方式建立政策。
範例 1:含有動作權杖的 reCAPTCHA 防火牆政策
您可以新增 reCAPTCHA 動作權杖,保護使用者動作,例如登入。 如要確保使用者啟動登入動作時系統會發出 reCAPTCHA Cookie,請在首頁整合 reCAPTCHA 動作符記指令碼。
建立 reCAPTCHA 防火牆政策,並套用下列規則:
- 必須套用規則的路徑。在這種情況下,
login.php
。 - 如果動作權杖的動作名稱屬性與受保護的使用者動作不符,或分數小於或等於 0.1,請封鎖存取權。
gcloud recaptcha firewall-policies create \
--description="example1 policy" \
--path="/login.php" \
--condition="recaptcha.token.action != "login" || recaptcha.score <= 0.1" \
--actions="block"
下圖顯示使用 reCAPTCHA 動作權杖功能和相應 reCAPTCHA 防火牆政策的工作流程:
範例 2:含有工作階段權杖的 reCAPTCHA 防火牆政策
您可以在使用者可能存取的頁面中加入 reCAPTCHA 工作階段權杖,定期重新整理 Cookie,例如結帳頁面。整合 reCAPTCHA 工作階段符記指令碼,讓 reCAPTCHA Cookie 在使用者進入結帳頁面之前,於應用程式後端發布及重新整理。在結帳頁面整合 reCAPTCHA 會期權杖指令碼,以便在應用程式後端發出及重新整理 reCAPTCHA Cookie,防止 Cookie 過期。
建立 reCAPTCHA 防火牆政策,並採用下列規則:
- 必須套用規則的路徑。在這種情況下,
checkout.html
。 - 如果分數小於或等於 0.1,則封鎖存取權。
gcloud recaptcha firewall-policies create \
--description="example2 policy" \
--path="/checkout.html" \
--condition="recaptcha.score <=0.1" \
--actions="block"
下圖顯示使用 reCAPTCHA 工作階段權杖功能和對應 reCAPTCHA 防火牆政策的工作流程:
範例 3:設有驗證頁面的 reCAPTCHA 防火牆政策
如要將使用者重新導向至中介網頁,判斷使用者要求是否可能為詐欺或合法,可以新增 reCAPTCHA 驗證頁面功能。
針對要保護的網頁,建立 reCAPTCHA 防火牆政策規則,將使用者重新導向至驗證頁面:
- 如果是受保護的頁面,如果權杖無效,請將使用者重新導向至驗證頁面。在這種情況下,
index.html
。 如果分數小於或等於 0.1,請將使用者重新導向至錯誤頁面。
gcloud recaptcha firewall-policies create \ --description="example3-1 policy" \ --path="/index.html" --condition="!recaptcha.token.valid" --actions="redirect"
gcloud recaptcha firewall-policies create \ --description="example3-2 policy" \ --path="/index.html" --condition="recaptcha.score <= 0.1" --actions="substitute=/bot_error"
下圖顯示使用 reCAPTCHA 挑戰頁面功能和對應 reCAPTCHA 防火牆政策的工作流程:
範例 4:含有動作符記和驗證頁面的 reCAPTCHA 防火牆政策
如要在網頁上使用不同的防護等級,可以同時使用 reCAPTCHA WAF 的多項功能。舉例來說,您可以在網頁上使用動作符記或工作階段符記功能,透過 reCAPTCHA 分數評估傳入流量,並在要確保使用者不是機器人的網頁上使用驗證頁面功能。
您可以新增 reCAPTCHA 動作權杖,保護使用者動作,例如登入。 為確保使用者啟動登入動作時系統會發出 reCAPTCHA Cookie,請在受保護的登入動作之前,於頁面上整合 reCAPTCHA 動作符記指令碼。例如首頁。在下載頁面,如要將使用者重新導向至驗證頁面,請使用 reCAPTCHA 防火牆政策規則。
建立 reCAPTCHA 防火牆政策,並套用下列規則:
- 必須套用規則的路徑。在這種情況下,
login.php
。 - 如果動作權杖的動作名稱屬性與受保護的使用者動作不符、評估類型不是
ACTION
,或是分數小於或等於 0.1,請封鎖存取權。 - 如要在使用者想下載內容時將他們重新導向至驗證頁面,請新增防火牆政策規則來重新導向使用者。
- 如果分數小於或等於 0.1,或評估類型不是
CHALLENGEPAGE
,請將使用者重新導向至錯誤頁面。
gcloud recaptcha firewall-policies create --description="example4-1 policy"
--path="/login.php" --condition="recaptcha.token.action != "login" || recaptcha.assessment_type != AssessmentType.ACTION || recaptcha.score <= 0.1" --actions="block"
gcloud recaptcha firewall-policies create --description="example4-2 policy"
--path="/content/example.pdf" --condition="recaptcha.assessment_type != AssessmentType.CHALLENGEPAGE" --actions="redirect"
gcloud recaptcha firewall-policies create --description="example4-3 policy"
--path="/content/example.pdf" --condition="recaptcha.score <= 0.1 || recaptcha.assessment_type != AssessmentType.CHALLENGEPAGE" --actions="substitute=/bot_error"
下圖顯示使用 reCAPTCHA 動作符記和 reCAPTCHA 驗證頁面功能的流程,以及對應的 reCAPTCHA 防火牆政策:
範例 5:reCAPTCHA 防火牆政策,包含 WAF Express 防護功能和驗證頁面
如要評估使用者互動,但不想造成任何困擾,且分數偏低時要將使用者重新導向至驗證頁面,可以新增 reCAPTCHA WAF 快速防護功能。舉例來說,為防止資料遭擷取,您想封鎖目錄頁面的流量。
建立 reCAPTCHA 防火牆政策,並採用下列規則:
- 必須套用規則的路徑。
- 如果分數小於或等於 0.3,請將使用者重新導向至驗證頁面。
以下範例會建立 reCAPTCHA 防火牆政策,在分數低於 0.3 時,將以 /catalog1/itemlist.html
為目標的流量重新導向。
gcloud recaptcha firewall-policies create \
--description="example5 policy" \
--path="/catalog1/itemlist.html" \
--condition="recaptcha.score <= 3" \
--actions="redirect"