ボットがデータを盗むのを防ぐための最初の方法は、技術的なものではなく、合法です。まず、サイトの利用規約に正しい言語を使用して、防止しようとしていることが実際には許可されておらず、合法的な立場から防御できることを確認してください。第二に、法的な問題を念頭に置いて技術戦略を立案してください。たとえば、米国では、認証バリアの背後にデータを置いて、攻撃者がそれを盗んだ場合、恐らくviolation of the DMCA lawとなります。第三に、IPとDMCAの問題についてアドバイスできる弁護士を探してください。StackOverflowの素敵な人たちでは不十分です。 :-)
今、テクノロジーについて:
合理的な解決策は、彼らはあなたの敏感なAjax呼び出しへのアクセスを得ることができる前に、ユーザーが認証されることを要求することです。これにより、Ajaxコールのユーザーごとの使用状況を監視し、特定の期間にリクエストが多すぎるユーザーのアカウントを(手動または自動で)取り消すことができます。 (もしあなたが細流のアプローチを防衛しようとしているなら、合計リクエストが多すぎる)。
このアプローチはもちろん、新しい「ユーザー」に自動的にサインアップする洗練されたボットには脆弱ですが、合理的に優れたCAPTCHAの実装では、この種のボットを構築することは非常に困難です。(http://en.wikipedia.org/wiki/CAPTCHAの「迂回」セクションを参照)
公開のデータ(認証なし)を保護しようとすると、オプションがはるかに制限されます。他の回答が記載されているように、IPアドレスベースの制限を試すことができます(また、大企業のプロキシユーザーにも悪影響を与えます)が、洗練された攻撃者は負荷を分散することでこれを回避できます。リクエストのタイミング、リクエストパターンなどを監視し、ボットを見つけようとするような、洗練されたソフトウェアもあります。例えば、ポーカーサイトはこれに多くの時間を費やしています。しかし、これらの種類のシステムが安価であるとは思わないでください。あなたのウェブログを採掘して(例えば、Splunkを使用して)、あなたのサイトに当たる上位N個のIPアドレスを見つけて、逆IP検索を行うことが簡単です。正当な企業またはISPの代理人になるものもあります。しかし、あなたがリストの中でcompeitorのドメイン名を認識した場合は、ドメインをブロックするか、弁護士にフォローアップすることができます。
盗難前の防御に加えて、「ハニーポット」を挿入することも考えられます。後で追跡できる情報を意図的に偽装することです。これは、例えば、地図メーカーが偽りをキャッチする方法です。偽の通りを地図に挿入し、同じ偽の通りを示す他の地図を確認します。これは決まった人々があなたのすべてのデータを吸うことを妨げるわけではありませんが、あなたのデータを誰が再利用しているのかを後で知ることができます。これは、テキスト出力に一意のテキスト文字列を埋め込み、後でGoogleでそれらの文字列を検索することで行うことができます(あなたのデータは別の公開ウェブサイトで再利用可能であると仮定します)。あなたのデータがHTMLまたは画像の場合、あなたのサイトを指し示す画像を含めることができます。また、誰がそれをダウンロードしているのかを追跡し、フリーローダーを破棄するために使用できるパターンを探すことができます。
他の回答の1つに記載されているJavaScriptの暗号化アプローチは、認証されていないセッションでは機能しません。攻撃者は通常のブラウザのようにjavascriptをダウンロードして実行できます。ストーリーの道徳的:公共のデータは本質的に不可能です。データを保護し続けるには、認証バリアの背後に置いてください。
これは明らかですが、あなたのデータが検索エンジンで一般公開されている場合は、それらには非AJAXソリューションが必要です(Googleはあなたのajaxデータを読まないでしょう)ページNOARCHIVEをご覧ください。データはGoogleのキャッシュに表示されません。また、検索エンジンのクロール可能なページ(Google、Bing、Yahooなどと連携してこれらを取得できる)に許可する検索エンジンのクローラIPアドレスのホワイトリストが必要な場合もあります。そうしないと悪意のあるボットが単に偽装する可能性がありますGoogleとあなたのデータを取得します。
結論として、私は上記の@kdgregoryをエコーしたい:脅威が必要な努力の価値があるほど十分であることを確認する。多くの企業は、他の人々(正当な顧客と悪意のある俳優の両方)がビジネスに持つ関心を過大評価しています。あなたが特に重要なデータを持っていて、貴重な情報を入手し、誰かがあなたのデータを盗んだ場合、あなたの法的償還は制限されます。しかし、一緒になってみれば、異例のことは間違いありません。
P.S. - あなたのケースでは当てはまらないかもしれないこの問題について考える別の方法。場合によっては、データの保護方法を変更することで、データの保護方法を変更する方が簡単な場合もあります。たとえば、サイトのサービスに何らかの方法でデータを結びつけて、コードと組み合わせて使用しない限り、データがあまり役に立たないようにすることができます。それとも広告を埋め込むことができるので、どこに表示されていても報酬を受け取ることができますか?等々。これらの緩和策のいずれかがあなたのケースに当てはまるかどうかはわかりませんが、多くの企業はインターネット上で無料で物を提供し(そして広範囲の再配布を防ごうとするのではなくむしろ励ます) /あなたのケースでは有料の戦略が可能かもしれません。
"これが公開情報であれば、それを抱きしめて&対処しないでください。代わりにそれを活用する方法を見つけてください。 +1 –
うん、その文だけで+1に値する。 – anddoutoi