インデックスと検索でアクセスできる、おそらく数千もの異なるエントリを持つコンテンツ サイトの構築を検討しています。
悪意のあるクローラーがサイトからすべてのデータを盗むのを防ぐために、どのような対策を講じることができますか? 正規のクローラーをまとめてブロックしたくはありませんが、SEO についてはそれほど心配していません。
たとえば、データを表示するために使用する HTML 構造の小さなビットをランダムに変更することを考えましたが、実際には効果的ではないと思います。
インデックスと検索でアクセスできる、おそらく数千もの異なるエントリを持つコンテンツ サイトの構築を検討しています。
悪意のあるクローラーがサイトからすべてのデータを盗むのを防ぐために、どのような対策を講じることができますか? 正規のクローラーをまとめてブロックしたくはありませんが、SEO についてはそれほど心配していません。
たとえば、データを表示するために使用する HTML 構造の小さなビットをランダムに変更することを考えましたが、実際には効果的ではないと思います。
人間の目で見えるサイトは、理論的にはリッピング可能です。アクセスできるようにしようとする場合でも、定義上、これに該当する必要があります (コンテンツが機械で読み取り可能でない場合、音声ブラウザーがコンテンツを配信するにはどうすればよいでしょうか)。
あなたの最善の策は、コンテンツに透かしを入れることを検討することです。そうすれば、少なくともそれが破られた場合、透かしを指摘して所有権を主張できます.
この間:
悪意のあるクローラーがリッピングするのを防ぐために私ができる対策は何ですか
この:
正当なクローラーをまとめてブロックしたくありません。
あなたは多くを求めています。事実、悪意のあるスクレイパーをブロックしようとすると、「善良な」クローラーもすべてブロックすることになります。
人々があなたのコンテンツをスクレイピングしたい場合、検索エンジン ボットよりもはるかに多くの手作業が必要になることを覚えておく必要があります。優先順位を正しく設定してください。次の 2 つの選択肢があります。
現実的には、悪意のあるクローラーを阻止することはできません。また、悪意のあるクローラーを防止するために講じた対策は、正当なユーザーに損害を与える可能性があります (検出を可能にするために robots.txt にエントリを追加することは別として)。
したがって、コンテンツが盗まれることを想定して計画を立てる必要があります。それは何らかの形で発生する可能性が高く、無許可のコピーにどのように対処するかを理解する必要があります。
予防は不可能であり、そうしようとするのは時間の無駄です。
Web サイトのコンテンツがコピーに対して脆弱でないことを確認する唯一の確実な方法は、ネットワーク ケーブルを抜くことです...
それを検出するには、http://www.copyscape.com/のようなものを使用すると役立つ場合があります。
善良なクローラーは robots.txt で指定したルールに従いますが、悪意のあるクローラーは従いません。http://www.fleiner.com/bots/で説明されているように、悪いロボットの「トラップ」を設定でき
ます。
しかし、繰り返しになりますが、コンテンツをインターネットに掲載する場合、見つけるのができるだけ簡単であれば、誰にとっても良いと思います (実際、専門家が意見を交換する下手なフォーラムではなく、ここに投稿しています)。
ウェブ上に制限を設けようとさえしないでください!
本当にこれと同じくらい簡単です。
(非常に厳密なrobots.txtを除いて)リッピングを阻止するためのあらゆる潜在的な対策は、ユーザーに害を及ぼします。キャプチャは、ゲインよりも苦痛です。ユーザーエージェントをチェックすると、予期しないブラウザがシャットアウトされます。javascriptを使用した「巧妙な」トリックについても同じことが言えます。
ウェブを開いたままにしてください。Webサイトから何も取得したくない場合は、そこに公開しないでください。透かしは所有権を主張するのに役立ちますが、それは危害が加えられた後に訴訟を起こしたい場合にのみ役立ちます。
サイトがマシンによってリッピングされるのを防ぐ唯一の方法は、ユーザーに自分が人間であることを証明させることです。
CAPTCHA など、人間にとっては簡単で機械にとっては難しいタスクをユーザーに実行させることができます。ユーザーが最初にサイトにアクセスしたときに CAPTCHA を提示し、それが完了した場合にのみ先に進むことを許可します。ユーザーがページからページへの移動を開始する速度が速すぎる場合は、再検証します。
これは 100% 効果的ではなく、ハッカーは常にそれらを破ろうとしています。
または、応答を遅くすることもできます。それらをクロールさせる必要はありませんが、人間にとって妥当な速度を選択してください (これはマシンにとって非常に遅くなります)。これにより、サイトをスクレイピングするのに時間がかかりますが、不可能ではありません.
わかった。アイデアがありません。
つまり、リッピングを防ぐことはできません。悪意のあるボットは一般的に IE ユーザー エージェントを使用しており、最近ではかなりインテリジェントになっています。サイトに最大数 (スクリーンリーダーなど) でアクセスできるようにしたい場合は、正当なユーザーのアクセスを妨げる可能性があるという理由だけで、javascript や一般的なプラグイン (フラッシュ) のいずれかを使用することはできません。
おそらく、データベースからランダムなスニペットを選択し、それをグーグル検索して一致をチェックする cron ジョブを作成できます。次に、問題のあるサイトを入手して、コンテンツを削除するよう要求することができます.
また、特定の IP からのリクエストの数を監視し、しきい値を超えた場合はブロックすることもできますが、正当なボットをホワイトリストに登録する必要があり、ボットネットに対しては役に立ちません (ただし、ボットネットに対抗している場合は、おそらくリッピングが必要です)。あなたの最大の問題ではありません)。
公開サイトを作る場合、それは非常に困難です。サーバー側のスクリプトを使用してコンテンツを生成する方法や、テキスト以外 (Flash など) を使用してリッピングの可能性を最小限に抑える方法があります。
しかし正直なところ、あなたのコンテンツがとても良いと思うなら、それをパスワードで保護し、公共の場から削除してください.
私の意見では、Web の要点は、有用なコンテンツをできるだけ多くの人に広めることです。
コンテンツが公開されていて自由に利用できる場合は、ページ ビューの調整などを行っても、何もできません。データにアクセスするために登録や支払いが必要な場合は、少し制限することもできます。少なくとも、誰が何を読んでいるかを確認し、データベース全体をスクレイピングしていると思われるユーザーを特定できます。
しかし、これがネットワークのしくみであり、人間が読み取れることを機械が読み取れないようにする方法はあまりないという事実に直面する必要があると思います。もちろん、すべてのコンテンツを画像として出力するのは最も気が進まないでしょうが、その場合、サイトにアクセスできなくなり、障害のないユーザーでさえ何もコピーして貼り付けることができなくなるという事実は言うまでもありません。これは本当に面倒なことです.
全体として、これは DRM/ゲーム保護システムのように聞こえます。実際には防止できない悪い動作を防止するためだけに、正当なユーザーを怒らせています。
Flash / Silverlight / Java を使用して、すべてのページ コンテンツを表示してみてください。これにより、ほとんどのクローラーが停止する可能性があります。
以前は、User-Agent ヘッダーに基づいてブロックまたは許可するシステムを使用していました。User-Agent を設定するクローラーに依存していますが、ほとんどのクローラーはそうしているようです。
もちろん、人気のあるブラウザをエミュレートするために偽のヘッダーを使用しても機能しません。
可能な限り人間のバリデーターを使用し、何らかのフレームワーク (MVC) を使用してみてください。サイト リッピング ソフトウェアは、この種のページをリッピングできない場合があります。また、ユーザー エージェントを検出します。少なくとも、可能なリッパーの数を減らすことができます