ホームページ 運用・保守 安全性 Python アンチクローラーの知識ポイントは何ですか?

Python アンチクローラーの知識ポイントは何ですか?

May 17, 2023 am 10:18 AM
python

1. クローラー対策が必要な理由?

クローラー対策システムを設計する前に、まずクローラーが Web サイトにどのような問題を引き起こすかを見てみましょう?

エッセンス 一般に、人々が閲覧・閲覧・利用できるインターネット上のウェブサイトやウェブサイト上のデータはオープンでアクセス可能なものであるため、いわゆる「不正アクセス」の問題は存在しません。

クローラ プログラムが Web ページにアクセスすることと人間が Web ページにアクセスすることの間には、本質的な違いはありません。どちらの場合も、クライアントは Web サイト サーバーへの HTTP リクエストを開始します。リクエストを受信した後、Web サイト サーバーはコンテンツ応答をクライアントに返します。

リクエストが開始される限り、Web サイト サーバーは応答する必要があります。応答するには、サーバーのリソースが消費される必要があります。

Web サイト訪問者と Web サイトの間には、相互に有益な関係があり、Web サイトは訪問者に必要な情報とサービスを提供し、訪問者はトラフィック、訪問者、アクティビティをもたらします。したがって、Web サイトの所有者は、訪問者にサービスを提供するためにサーバーの帯域幅、ディスク、メモリを積極的に使用することになります。

では、クローラー プログラムについてはどうでしょうか?これは無料の売春に等しいものです。 Web サイト サーバーのリソースを 2 倍にしてサーバーの帯域幅を占有しても、Web サイトには何のメリットももたらさず、むしろ最終的な結果は Web サイト自体に悪影響を及ぼします。

クローラーはインターネットにおけるアフリカのハイエナとみなされる可能性があり、Web サイト所有者から嫌われるのも不思議ではありません。

2. クローラーを特定する

クローラーが嫌いなので、Web サイトからクローラーを締め出す必要があります。もちろん、クローラーのアクセスを拒否するには、まずネットワーク訪問者の中からクローラー プログラムを特定する必要があります。識別方法?

1. HTTP リクエスト ヘッダー

一般的なネットワーク訪問者はブラウザを使用して Web サイトにアクセスするため、この識別は最も基本的なネットワーク レプティリアン用です。 。ブラウザは、基本情報を示すために独自のリクエスト ヘッダーを取得します。 HTTP リクエスト ヘッダーは誰でも変更したり偽造したりできるため、クローラーによって簡単に破られます。

2. Cookie の値

Cookie は通常、手元にある一時的な ID カードと同様に、Web サイト訪問者を識別するために使用されます。そしてこれに基づいて、Web サイトのサーバーで本人確認が行われます。残念ながら、Cookie はクライアント側に保存されるため、変更および偽造される可能性があります。

3. アクセス頻度

訪問者が Web サイトの特定のページを毎秒リクエストする場合、または数秒以内にこのページを数百回リクエストする場合。この訪問者はクローラーかゴーストのいずれかです。マウスを素早く頻繁にクリックしてページにアクセスできる人間は誰でしょうか?彼はパーキンソン病を患っているのでしょうか、それともタコの生まれ変わりなのでしょうか?

クローラー プログラムをアクセス頻度によって識別することは可能ですが、クローラー プログラムは多数のプロキシ IP を使用して、IP アドレスに 1 回だけアクセスするという効果を達成することもできます。また、ランダムなリクエスト間隔によって回避することもできます。 。

4. マウスの動作軌跡

通常の人間の訪問者が Web ページを閲覧するとき、マウスを動かして機械のように段階的にクリックすることはありません。マウスの動きやクリックはJSスクリプトを通じてキャプチャできるため、訪問者のマウスの動作軌跡を判断することで、訪問者がクローラープログラムであるかどうかを判断できます。

5. トークンの値

現在、多くの Web サイトではフロントエンドとバックエンドを分離する開発手法が採用されており、バックエンド インターフェイスはフロントエンドにデータを返します。フロントエンドはデータを取得した後にそれを結合し、ページがレンダリングされます。したがって、多くのクローラー プログラムは、愚かにページを要求するのではなく、データ インターフェイスを直接探します。トークンは、これらのバックエンド データ インターフェイスを検証するために使用されます。通常、トークンは時刻キーと Web ページキーの組み合わせによって暗号化されます。

クローラーを識別する方法は他にもありますが、ここでは 1 つずつ紹介しません。残念ながら、上記のどの方法を使用して Web クローラーを識別しても、クローラーに騙されたり侵入されたりする危険性が常にあります。

3. クローラーの拒否

Web サイトに一度限りのセキュリティ保護がないのと同様、10 年前に 3389 ポートを閉じると、サーバーのセキュリティ保護が妨げられる可能性があります。現在では、さまざまなファイアウォールやさまざまなセキュリティ対策が追加されており、0Day 脆弱性により脅迫される可能性があります。

爬虫類と反爬虫類の間では常に闘争と激化が存在します。サイバー攻撃と防御、およびクローリング対策の違いは、前者は手加減なしの戦いであるのに対し、後者はオリンピックに出場するボクサーのように手袋やヘルメットを着用することです。

ウェブサイトを運営するにはコンテンツを外部に公開する必要があり、その公開されたコンテンツはアフリカのサバンナに漂う死肉と血の匂いに似ており、ハイエナの到来を直接引き寄せます。

オープン コンテンツと、クローラのデータ マイニング プールになることの回避との間でバランスを取るのは困難な作業です。

1. コンテンツの公開を制限する

オープン コンテンツはユーザーとトラフィックを獲得するための基盤であるため、コンテンツは公開されている必要があります。しかし、コンテンツのオープン性は無制限のオープン性ではありません。未登録ユーザーは 1 つまたは 2 つのコンテンツを表示できますが、すべてのコンテンツに無制限にアクセスできるわけではありません。この制限は、ログイン、スキャン コード検証、Google 検証コードへのアクセスなどのクリック検証メカニズムの形をとることがあります。

最近では、Weibo、Zhihu、Taobao など、コンテンツを限定して開く仕組みを採用している Web サイトが増えています。1 ~ 2 ページのコンテンツが表示されますが、それでも続行したい場合は、申し訳ありませんが、 、 ログインしてください。

2. ユーザー操作を行動的に記録する

訪問者にログインを要求しても問題は解決しません。なぜなら、シミュレートされたログインは、Web クローラー プログラムの開発部門として常に人気があるからです。画像検証 コード、パズル、スライダー、または漢字のクリックはすべて壊れます。 APP およびクローラー プログラムを作成すると、SMS 検証コードが Web サイトと通信できるようになります。

したがって、ユーザーの行動を記録することが不可欠です。ユーザーのすべての操作とアクセス行動を記録する必要があります。これは、クローラーの分析と処理の基礎となります。

3. 管理の観点から高頻度の行為を厳しく取り締まります

実際には、データの発掘を目的として実行されないクローラ プログラムも多数存在します。 Web サイトのコンテンツ。手動による収集と分類作業を容易にするためだけに、このタイプのクローラの動作は、一般に手動による閲覧の頻度よりも高くなりますが、ハイエナのような高頻度のクローラよりは大幅に低くなります。このタイプのクローラの動作は、次のような可能性があります。それを無視します。将来また会えるように、生活の中で一線を画しておきましょう。

ただし、Web サイトサーバーの動作に影響を与える高頻度のクローラーの動作には対策を講じる必要があります。ユーザー情報と IP 情報を組み合わせて、関連するユーザーまたは IP を処理します。

4. 契約における権利の宣言

ウェブサイトの所有者は、ウェブサイト契約またはユーザー契約で、通常の閲覧、アクセス、およびデータ取得が許可されていることを宣言する必要があります。 . 、高頻度で、ウェブサイトサーバーの安定性を脅かす場合、当社はさらなる処理を行う権利を留保します。

以上がPython アンチクローラーの知識ポイントは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? Apr 01, 2025 pm 02:48 PM

多くのウェブサイト開発者は、ランプアーキテクチャの下でnode.jsまたはPythonサービスを統合する問題に直面しています:既存のランプ(Linux Apache MySQL PHP)アーキテクチャWebサイトのニーズ...

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

Scapy Crawlerを使用するときにパイプラインの永続的なストレージファイルを書き込めない理由は何ですか? Scapy Crawlerを使用するときにパイプラインの永続的なストレージファイルを書き込めない理由は何ですか? Apr 01, 2025 pm 04:03 PM

Scapy Crawlerを使用する場合、パイプラインの永続的なストレージファイルを書くことができない理由は?ディスカッションデータクローラーにScapy Crawlerを使用することを学ぶとき、あなたはしばしば...

Python hourglassグラフ図面:可変未定義エラーを避ける方法は? Python hourglassグラフ図面:可変未定義エラーを避ける方法は? Apr 01, 2025 pm 06:27 PM

Python:Hourglassグラフィック図面と入力検証この記事では、Python NoviceがHourglass Graphic Drawingプログラムで遭遇する可変定義の問題を解決します。コード...

PythonプロセスプールがTCPリクエストを同時に処理し、クライアントが立ち往生する理由は何ですか? PythonプロセスプールがTCPリクエストを同時に処理し、クライアントが立ち往生する理由は何ですか? Apr 01, 2025 pm 04:09 PM

Python Process Poolは、クライアントが立ち往生する原因となる同時TCP要求を処理します。ネットワークプログラミングにPythonを使用する場合、同時のTCP要求を効率的に処理することが重要です。 ...

Python functools.partialオブジェクトによって内部的にカプセル化された元の関数を表示する方法は? Python functools.partialオブジェクトによって内部的にカプセル化された元の関数を表示する方法は? Apr 01, 2025 pm 04:15 PM

python functools.partialオブジェクトのpython functools.partialを使用してPythonを使用する視聴方法を深く探索します。

Pythonクロスプラットフォームデスクトップアプリケーション開発:どのGUIライブラリが最適ですか? Pythonクロスプラットフォームデスクトップアプリケーション開発:どのGUIライブラリが最適ですか? Apr 01, 2025 pm 05:24 PM

Pythonクロスプラットフォームデスクトップアプリケーション開発ライブラリの選択多くのPython開発者は、WindowsシステムとLinuxシステムの両方で実行できるデスクトップアプリケーションを開発したいと考えています...

GoogleとAWSはパブリックピピイメージソースを提供していますか? GoogleとAWSはパブリックピピイメージソースを提供していますか? Apr 01, 2025 pm 05:15 PM

多くの開発者はPypi(PythonPackageIndex)に依存しています...

See all articles