サイト上でスパムボットを阻止するには?
-
19-09-2019 - |
質問
かなり大規模な Web サイトの 1 つで、スパム ボットによる問題が発生しています。ボットはユーザー アカウントを作成し、さまざまなスパム リンクにつながる日記エントリを投稿しているようです。
彼らは何らかの方法で私たちのキャプチャをバイパスしているようです。キャプチャが解読されたか、別の方法を使用してアカウントを作成しているかのどちらかです。
私たちはアカウントの電子メールによるアクティベーションを検討していますが、そのような変更の実装までには (多忙なスケジュールのため) 約 1 週間かかります。
ただし、サイトのどこかで SQL エクスプロイトを使用し、クロスサイト スクリプティング全体を実行している場合、これでは十分ではないと感じます。そこで私からあなたへの質問です。
彼らが何らかの XSS エクスプロイトを使用している場合、どうすればそれを見つけることができますか?できる限りステートメントを保護していますが、やはりかなり大規模なサイトなので、XSS を防ぐために SQL ステートメントを積極的にクリーンアップするには時間がかかります。私たちの状況を助けるために何かお勧めできますか?
解決
1) reCAPTCHAのを上述のように良いスタートである。
それが公表される前に、2) Askimet のフラグスパムに最適な方法です。これは、Wordpressのスパムを停止するために使用するものだと、それは非常に有効です。その後、拒否または結果に基づいて、節度のエントリをキューに入れることができます。これは、APIがあまりにも、使用して途方もなく簡単ですです。 (あなたがそれを必要とする場合、私はPHPのコードを持っています)。私はあなたが無料版を使用して始めることができます確信していますが、あなたは商用ライセンスが必要になる場合があります。
それは多くのスパマーはありません、有効な電子メールアカウントを必要とする3)電子メールアドレスの検証は間違いなく良いアイデアです。ただ、それは同様正当なユーザーに背を向けることができ非常に困難であるかのようにあなたがメールアドレスは簡単に検証することを確認します。
他のヒント
、ログにその証拠があるはずです。直接ユーザー作成スクリプトへの投稿やヒットする前に、通常の「ノーマル」サーフィンの活動なしの仕訳作成スクリプトをチェック:ボットは一度だけのサイトをtrolledたかもしれないとフォームをプルダウンして記入するふりのステップをバイパスしていますでそれら。クエリ文字列で明らかにXSS型データでGETリクエストを探します。
また、フォーム内の隠しフィールドにランダムなトークンを埋め込み、通過する投稿/活性化のために存在することが、そのトークンを必要とする可能性があります。ボットは、一度だけ、あなたのサインアップのスクリプトを解析され、直接の投稿を行っている場合は、ボット作成者は上キャッチし、トークンを探しまで、これは彼らのトラックでそれらを停止します。しかし、それは、より良いシステムを実装するためにあなたにいくつかの呼吸スペースを与えるだろう。
ユーザーアカウントのテーブルはそれらに、作成時刻のタイムスタンプのいくつかの種類を持っていない場合は、に1を入れて、サーバは、タイムスタンプではなく、ユーザースクリプトを作成しています。この方法は、あなたは、ボットの活動のログをスキャンし、彼らがやっているかを確認する時間(秒)を絞り込むことができます。そして、何もない場合は、ボットから投稿されたIPアドレスをブロックすることができます。
誰かが Akismet にアドバイスでき、それが回答として受け入れられたことに驚きました。
- Akismet エンゲージメントは EUではプライバシー保護法に違反するとして違法;
- どれでも ブラックリスト システムは犯罪者を助け、正規ユーザーがインターネットを使用できなくします;
- スパムを収集して分析するシステムは、スパム送信者の技術の進歩やボットの開発に常に遅れをとって遡及的に動作する運命にあります。
- スパムボットをブロックするのではなく、ボットによって供給されるスパムを蓄積して分析するのはなぜでしょうか?