26

Rails には多数のキャプチャ プラグインがあり、スパムやフラッドを防止するためのさまざまな種類のソリューションもあります。したがって、Rails の問題だけではありません。

プラグインの種類を見てみましょう。

1. 従来の画像キャプチャ( zendesk の Captcha、Simple_captcha、Validates_captcha、winton の Captcha、Raptcha)。

ポジティブ:

  • 自動復号化を防ぐのに効果的です (Simple_captcha についてはわかりませんが、zendesk と winton の両方のキャプチャは (オンデマンドではなく) 事前に生成された画像を使用するため、それを達成していないようです。その画像で学んだ)。

ネガティブ:

  • DBテーブルが必要です(少なくともSimple Captcha。それほど悪くはありませんが、使用後にクリーンアップしますか?)。
  • RMagick などを必要とします (自分のサイトに既にあるので、あまり現実的ではありません)。
  • 手動での復号化に失敗します (私が知っているように、画像 1,000 枚あたり 2 ドル)。
  • ユーザーにとって煩わしく、コンバージョン率を損なう可能性があります。

2. ReCaptcha (Recaptcha、Rack-recaptcha)。

ポジティブ:

  • 自動復号化を防ぐのに効果的です。
  • Rmagick と DB テーブルを必要としません。

ネガティブ:

  • サードパーティ サイトへの API 呼び出しを行います。
  • 手動復号化に失敗します。
  • 前よりさらにうるさい。

3. ハニーポット(Negative-captcha、Trap_door、Reverse_captcha、Honeypot-captcha、Bouncy_bots、invisible_captcha )。

ポジティブ:

  • ユーザーはキャプチャの存在を知りません。
  • Rmagick と DB テーブルを必要としません。

ネガティブ:

  • 自動復号化に失敗する可能性があります (このプラグインを認識できるボットはありますか?)。
  • 手動復号化に失敗します。

4. テキストベース(Humanizer、Brain_buster、Gotcha)。

ポジティブ:

  • Rmagick と DB テーブルを必要としません (Brain_buster を除く)。

ネガティブ:

  • 自動復号に失敗する場合があります。
  • 手動復号化に失敗します。
  • 少し面倒です(ローカライズできます)。

5. その他(Acts_as_snook)

ポジティブ:

  • ユーザーはキャプチャの存在を知りません。
  • Rmagick と DB テーブルを必要としません。

ネガティブ:

非常に珍しいのであるかどうかはわかりません。ただし、場合によっては投稿のモデレートが必要になる可能性があるため、洪水の場合に問題が発生する可能性があると思います。

6. Akismet のようなソリューション(効率については不明)。

ポジティブ:

  • ユーザーはキャプチャの存在を知りません。
  • Rmagick と DB テーブルを必要としません。

ネガティブ:

  • サードパーティ サイトへの API 呼び出しを行います。
  • ユーザーの詳細をサードパーティのサイトに配信する (非常に悪い)。

また、私のサイトについても少しお話ししなければなりません。ユーザーは ajax リクエストの後 (たとえば、カートに何かを入れた後) にのみ、保護されたフォームを表示できます。最新のボットには、ajax リクエストを実行して Cookie を保存する機能がありますか?

4

2 に答える 2

7

フラッディングは、スパムとは別の問題です。アプリケーションにレート制限に関するロジックを確実に組み込む必要があります。たとえば、検証を使用して、ユーザーが過去 15 分間に 2 つ以上の注文を行っていないことを確認できます。

キャプチャに関しては、選択したプラグインはどれも素晴らしいものになる可能性が高い. RMagick をインストールする必要があるとは考えていませんが、実際に機能させるのはそれほど難しくありません。もし私が選んだとしたら、私の最初の本能は recaptcha を使うことでしょう。

スパムは別の問題です。キャプチャをバイパスできる人間のユーザーによって入力されることがよくあります。Akismet はスパムをキャッチするのに最適です。ぜひ確認してください。recaptcha などと組み合わせて使用​​できます。

最後に、最新のボットは非常に洗練されています。おそらく誰もが予想するよりもはるかに洗練されています。ブラウザを完全に自動化し、OCR を使用してキャプチャ テキストを読み取り、最も高度なフィルタをバイパスするスパム コンテンツを生成できます。とはいえ、これは「すべてのスパム/ボットを阻止する」ことではなく、一般ユーザーにとって価値がないほど参入障壁を高くすることです。

于 2011-03-15T17:35:49.810 に答える
5

既存のプラグインの適切な分析。

現代のボットは非常に洗練されており、その開発者は多額の報酬を得ているため、常に最新の防御策を回避しようとしています。そのため、ReCaptcha のように、積極的に保守および作業が行われているオプションに固執するのは良いことだと思います。また、ユーザーはインターフェイスを理解し、データを保護するための措置を講じていることを知って安心していると思います.

プロジェクトのすべての Rails キャプチャ オプションをふるいにかけ、クライアントがテストして試すためのサンプル アプリを作成する必要がありました。 simple-captcha-demo.heroku.com

それらはすべて非常に使いやすく、セットアップも簡単でした。私は heroku をテスト ベッドとして使用して何かをすばやくセットアップし、クライアントにテストしてもらうのが好きです。また、 RailsPerformance.comのブログに、自分の経験と落とし穴の一部を書きました。

新しいプラグインがあるかもしれません。www.ruby-toolbox.comでトレンドを確認するのは常に良いこと です。

于 2012-02-02T17:27:58.807 に答える