本文以網頁登入和網頁存在多個子網域名稱為例,介紹如何自訂防爬情境化規則。
樣本一:阿里雲官網登入頁面
本樣本以阿里雲國際站官網登入頁面(account.alibabacloud.com)為例,介紹防爬情境化防護規則的具體配置。
在阿里雲官網單擊登入按鈕後,觸發的網頁請求欄位如下:阿里雲國際站登入頁面(account.alibabacloud.com)出現 System error. Please try again later. 錯誤提示。開啟瀏覽器 DevTools 的 Network 面板,選中 /newlogin/login.do 請求,可查看其 General 資訊:Request URL 為 https://passport.alibabacloud.com/newlogin/login.do?fromSite=6&appName=intl-aliyun,Request Method 為 POST,Status Code 為 200。Request Headers 中關鍵字段包括 :authority: passport.alibabacloud.com、:method: POST、:path: /newlogin/login.do?fromSite=6&appName=intl-aliyun,可據此排查登入異常原因。
規則配置說明:
-
執行登入操作時,需要在阿里雲官網頁面上單擊
表徵圖來觸發登入請求。這是此次樣本情境中防護的最終目標,因此,防護業務情境填寫登入。 -
網頁登入流程是在瀏覽器環境下完成的,防護目標類型選擇網頁/瀏覽器。
-
登入按鈕位於account.alibabacloud.com這個網域名稱下的頁面中,但登入請求是提交到passport.alibabacloud.com這個網域名稱的,存在跨域的情況。因此,防護策略本身應該配置在passport.alibabacloud.com網域名稱下,但同時需要選中防護目標有來自其它網域名稱的跨域調用,並填寫account.alibabacloud.com網域名稱。
-
登入請求本身的特徵是URL包含/newlogin/login.do,且要求方法為POST。因此,防護目標特徵需要按該特徵進行定義。
樣本二:阿里雲官網解決方案詳情頁面
本樣本以阿里雲國際站官網解決方案詳情頁面(alibabacloud.com/solutions)為例,介紹防爬情境化防護規則的具體配置。
以下是本樣本中提及的阿里雲解決方案詳情頁面:該頁面頂部包含三個 Tab 頁簽:Featured Solutions、Solutions by Use Case(當前選中)和 Solutions by Industry,下方以卡片形式展示各類解決方案,包括 1688 Cloud Hub、AI Service Dispatch、Backup and Archive、China Gateway 等。
規則配置說明如下:
-
此次樣本情境中防護的最終目標是alibabacloud.com/solutions頁面下的各個解決方案子頁面。因此,防護業務情境填寫解決方案詳情頁。
-
訪問該頁面是在瀏覽器環境下完成的,防護目標類型選擇網頁/瀏覽器。
-
在阿里雲解決方案詳情頁面(alibabacloud.com/solutions),訪問單個解決方案頁面,其URL結構為
/solutions/xxx。因此,防護目標特徵設定為URLPath包含/solutions/、要求方法為GET。本樣本中不涉及跨域請求,因此,無需選擇防護目標有來自其它網域名稱的跨域調用。您也可以根據業務情境的實際情況,添加更多防護條件,例如user-agent、param、referer等。