このチュートリアルでは、ウェブページのログインページとソリューション詳細ページという 2 つの一般的なシナリオで、シナリオ固有のアンチクローラー保護ルールを設定します。各例では、対象リクエストの特性を特定し、それに応じて保護ルールをカスタマイズする方法を順を追って説明します。
例 1:Alibaba Cloud 公式ウェブサイトのログインページ
この例では、Alibaba Cloud 国際サイト (account.alibabacloud.com) のログインページを使用して、シナリオ固有のアンチクローラー保護ルールを設定する方法について説明します。
対象リクエストの特定
Alibaba Cloud 公式ウェブサイトでログインボタンをクリックすると、Alibaba Cloud 国際サイトのログインページ (account.alibabacloud.com) に「System error. Please try again later.」というエラーメッセージが表示されます。ログインリクエストの特性を特定するには、ブラウザーの開発者ツールで [ネットワーク] パネルを開き、/newlogin/login.do リクエストを選択して General 情報を表示します。
対象リクエストには次の特性があります。
| フィールド | 値 |
| リクエスト URL | https://passport.alibabacloud.com/newlogin/login.do?fromSite=6&appName=intl-aliyun |
| リクエストメソッド | POST |
| ステータスコード | 200 |
リクエストヘッダーの主なフィールド:
:authority: passport.alibabacloud.com:method: POST:path: /newlogin/login.do?fromSite=6&appName=intl-aliyun
これらのフィールドを使用して、ログインの問題のトラブルシューティングができます。
保護ルールの設定
ログインするには、Alibaba Cloud 公式ウェブサイトのページで
アイコンをクリックしてログインリクエストをトリガーする必要があります。これは、この例における最終的な保護対象です。保護シナリオとして [ログイン] と入力します。Web ページのログオンプロセスはブラウザ環境で完了します。保護対象タイプにはWeb サイトを選択します。
ログインボタンは account.alibabacloud.com ドメインのページにありますが、ログインリクエストは passport.alibabacloud.com ドメインに送信されます。これはクロスドメインシナリオです。passport.alibabacloud.com ドメインで保護ポリシーを設定し、他の保護対象からのオリジン間呼び出し を選択して、account.alibabacloud.com ドメインを入力します。
ログインリクエストの特徴は、URL に /newlogin/login.do が含まれ、リクエストメソッドが POST である点です。これらの特性に基づいて、保護対象の特性を定義します。
例 2:Alibaba Cloud 公式ウェブサイトのソリューション詳細ページ
この例では、Alibaba Cloud 国際サイト (alibabacloud.com/solutions) のソリューション詳細ページを使用して、シナリオ固有のアンチクローラー保護ルールを設定する方法について説明します。
ページ構造の特定
Alibaba Cloud のソリューション詳細ページの上部には、[おすすめソリューション]、[ユースケース別ソリューション] (現在選択中)、[業種別ソリューション] の 3 つのタブがあります。タブの下には、1688 Cloud Hub、AI Service Dispatch、Backup and Archive、China Gateway などのソリューションがカードとして表示されます。
保護ルールの設定
この例の最終的な保護対象は、alibabacloud.com/solutions ページ配下にあるソリューションのサブページです。保護シナリオとして [ソリューション詳細ページ] と入力します。
このページの操作はブラウザ環境で行います。保護対象タイプとしてWeb サイトを選択します。
Alibaba Cloud ソリューション詳細ページ (alibabacloud.com/solutions) では、単一のソリューションページの URL は
/solutions/xxxという構造になっています。保護対象の特性をURLPath contains /solutions/に、リクエストメソッドをGETに設定します。この例では、クロスドメインリクエストは含まれません。他の保護対象からのオリジン間呼び出し を選択する必要はありません。ビジネスシナリオに基づいて、user-agent、param、referer などの保護条件を追加することもできます。