本文以網頁登錄和網頁存在多個子域名為例,介紹如何自定義防爬場景化規則。
示例一:阿里云官網登錄頁面
本示例以阿里云國際站官網登錄頁面(account.alibabacloud.com)為例,介紹防爬場景化防護規則的具體配置。
在阿里云官網單擊登錄按鈕后,觸發的網頁請求字段如下:
場景化防爬規則配置示意圖如下:規則配置說明:
執行登錄操作時,需要在阿里云官網頁面上單擊圖標來觸發登錄請求。這是此次示例場景中防護的最終目標,因此,防護業務場景填寫登錄。
網頁登錄流程是在瀏覽器環境下完成的,防護目標類型選擇網頁/瀏覽器。
登錄按鈕位于account.alibabacloud.com這個域名下的頁面中,但登錄請求是提交到passport.alibabacloud.com這個域名的,存在跨域的情況。因此,防護策略本身應該配置在passport.alibabacloud.com域名下,但同時需要選中防護目標有來自其它域名的跨域調用,并填寫account.alibabacloud.com域名。
登錄請求本身的特征是URL包含/newlogin/login.do,且請求方法為POST。因此,防護目標特征需要按該特征進行定義。
示例二:阿里云官網解決方案詳情頁面
本示例以阿里云國際站官網解決方案詳情頁面(alibabacloud.com/solutions)為例,介紹防爬場景化防護規則的具體配置。
以下是本示例中提及的阿里云解決方案詳情頁面:
場景化防爬規則配置示意圖如下:規則配置說明如下:
此次示例場景中防護的最終目標是alibabacloud.com/solutions頁面下的各個解決方案子頁面。因此,防護業務場景填寫解決方案詳情頁。
訪問該頁面是在瀏覽器環境下完成的,防護目標類型選擇網頁/瀏覽器。
在阿里云解決方案詳情頁面(alibabacloud.com/solutions),訪問單個解決方案頁面,其URL結構為
/solutions/xxx
。因此,防護目標特征設置為URLPath包含/solutions/
、請求方法為GET
。本示例中不涉及跨域請求,因此,無需選擇防護目標有來自其它域名的跨域調用。您也可以根據業務場景的實際情況,添加更多防護條件,例如user-agent、param、referer等。