2

状況:

  • ユーザー名/パスワードで保護されたコンテンツを含むサイト (試用/テスト ユーザーになる可能性があるため、すべてが制御されるわけではありません)
  • ユーザー名/パスワードの制限により、通常の検索エンジンではアクセスできません。
  • 悪意のあるユーザーは引き続きログインして、セッション Cookie を「wget -r」などに渡すことができます。

問題は、そのようなアクティビティを監視し、それに対応するための最良のソリューションは何かということです (サイトのポリシーがクロール禁止/スクレイピングを許可していないことを考慮すると)。

いくつかのオプションを考えることができます:

  1. トラフィック監視ソリューションをセットアップして、特定のユーザー/IP のリクエスト数を制限します。
  2. 最初のポイントに関連: 一部のユーザー エージェントを自動的にブロックする
  3. (Evil :)) アクセス時にユーザーをログアウトさせ、アカウントを無効にする隠しリンクを設定します。(おそらく、通常のユーザーはクリックするためにそれを見ないため、これにアクセスすることはありませんが、ボットはすべてのリンクをクロールします。)

ポイント1については、すでに実装されている優れたソリューションを知っていますか? 経験はありますか?問題の 1 つは、非常にアクティブだが人間のユーザーの場合、誤検出が発生する可能性があることです。

ポイント 3: これは本当に悪いことだと思いますか? または、それに関する問題の可能性はありますか?

その他のご提案も承ります。

4

9 に答える 9

5

自動ロックアウトはお勧めしません。必ずしも悪意があるからというわけではありませんが、悪意のあるユーザーにセンサーを作動させたことを即座にフィードバックし、次に署名するアカウントで同じことをしないように知らせるためです。まで。

また、ユーザー エージェントのブロックはおそらくあまり役​​に立ちません。ユーザー エージェントは簡単に偽造できるからです。

おそらくできる最善の方法は監視ですが、それでも、悪意のある動作を検出した場合に何をするかを検討する必要があります。アクセスが制御されていない限り、ロックアウトした人は別の ID で再度サインアップできます。アカウントを取得するためにどのような情報が必要かはわかりませんが、たとえば、名前と電子メール アドレスだけでは、誰にとっても大きなハードルにはなりません。

これは古典的な DRM の問題です。だれでも情報を見ることができれば、だれでもその情報を使って好きなことを何でもできてしまいます。それを困難にすることはできますが、最終的に誰かが本当に決心している場合、その人を止めることはできず、正当なユーザーに干渉してビジネスに損害を与えるリスクがあります.

于 2008-12-21T23:18:07.033 に答える
2

ポイント1には、あなたが言及した問題があります。また、サイトのクロールが遅くなることに対しては役に立たないか、そうであれば、正当なヘビー ユーザーにとってはさらに悪いことになる可能性があります。

ポイント 2 を変えて、信頼できるユーザー エージェントのみを許可することができます。もちろん、これは標準的なユーザー エージェントを偽装するツールに対しては役に立ちません。

ポイント 3 のバリエーションは、サイトの所有者に通知を送信するだけで、そのユーザーをどうするかを決定できます。

ポイント 2 の私のバリエーションでも同様に、これをよりソフトなアクションにして、誰かが奇妙なユーザー エージェントでサイトにアクセスしていることを通知するだけで済みます。

編集:関連して、公開されていない自分の URL にアクセスしていたときに奇妙な問題が発生したことがあります (発表もリンクもしていないサイトをステージングしていました)。この URL は私以外誰も知らないはずだったのですが、突然、ログにヒットがあることに気付きました。これを追跡したところ、あるコンテンツ フィルタリング サイトからのものであることがわかりました。モバイル ISP がサード パーティを使用してコンテンツをブロックし、自分のリクエストを傍受したことが判明しました。サイトを知らなかったため、アクセスしようとしていたページを取得し、(おそらく) でキーワード分析を行いました。ブロックするかどうかを決定するために。この種のことは、注意が必要な最後のケースかもしれません。

于 2008-12-21T22:39:00.997 に答える
1

簡単な答え: 確実に行うことはできません。

特定の時間枠で特定の数のヒットを引き起こす IP アドレスをブロックするだけで、長い道のりを歩むことができます (一部の Web サーバーはこれをすぐにサポートし、他の Web サーバーはいくつかのモジュールを必要とします。または、ログファイルを解析し、たとえば iptables を使用してそれを行うことができます)。 )、ただし、主要な検索エンジンのクローラーや大規模な ISP のプロキシをブロックしないように注意する必要があります。

于 2008-12-22T01:25:40.443 に答える
1

話している悪意のあるユーザーの種類によって異なります。

彼らが wget の使い方を知っていれば、Tor を設定して毎回新しい IP を取得し、持っているものすべてをゆっくりとコピーすることができるでしょう。(お金を払っている?) ユーザーに迷惑をかけずにそれを防ぐことはできないと思います。

ゲーム、音楽、動画のDRMと同じです。エンドユーザーが何かを見ることになっている場合、それを保護することはできません。

于 2008-12-21T23:17:16.130 に答える
0

ApacheにはIPごとの帯域幅制限モジュールAFAIKがいくつかあり、多くのデジタルコンテンツを含む私自身の大規模なJava / JSPアプリケーションでは、同じことを行うために独自のサーブレットフィルターを使用しました(1つのIPブロックからの同時接続を制限するなど)。

上記のコメントに同意します。悪意のあるユーザーがアラームを作動させたかどうか/いつ作動したかを判断できず、回避行動をとることがわからないように、微妙な方がよいということです。私の場合、私のサーバーは遅くて不安定で信頼性が低いように見えます(そのため、変更はありません)...

Rgds

デイモン

于 2009-01-07T08:59:25.530 に答える
0

追加されたコメント:

  • 通常のユーザーが見ることができるものを完全に保護することはできないことを私は知っています. 私は問題の両側にいました:)
  • 開発者側から見れば、費やした時間と保護されたケースの最適な比率はどれくらいだと思いますか? 簡単なユーザー エージェント チェックを行うだけで、潜在的なクローラーの半分以上を削除できると思います。残りの 1% から保護するために開発に何ヶ月も費やすことができます。

繰り返しになりますが、サービス プロバイダーの観点から、あるユーザー (クローラー) が他のユーザーの CPU/帯域幅を消費しないことにも関心があります。

コメントへの応答: プラットフォーム仕様: JBoss AS で実行される JBoss Seam に基づくアプリケーション。ただし、その前にapache2があります。(Linuxで実行)

于 2008-12-21T23:34:11.853 に答える
0

オプション 3 の問題点は、スクレイパーが何が起こっているのかを把握した後、自動ログアウトを回避するのは簡単なことです。

于 2008-12-21T22:45:16.570 に答える
0

@frankodwyer:

  • 信頼できるユーザー エージェントのみが機能しません。特に、アドオンまたは .net バージョンによって変更される IE ユーザー エージェント文字列を考慮してください。あまりにも多くの可能性があり、偽造することができます.
  • ポイント 3 のバリエーション。管理者への通知はおそらく機能しますが、管理者がログを常に監視していない場合、不確定な遅延が発生することを意味します。

@グレッグヒューギル:

  • 自動ログアウトにより、ユーザー アカウントも無効になります。少なくとも、新しいアカウントを作成して、電子メール アドレスやその他の情報などの痕跡を残す必要があります。

3. の logout/disable-url をランダムに変更するのは興味深いことですが、どのように実装するかはまだわかりません :)

于 2008-12-21T22:53:19.393 に答える
0

http://recaptcha.net

誰かがログインするたびに、またはサインアップ中に。たぶん、10 回ごとにキャプチャを表示できます。

于 2008-12-21T23:20:53.347 に答える