0

私は、一般の人々が私のサイトにリストされている会社に電子メールを送信する方法を提供します(彼らのページの連絡フォームを介して)が、悪用を防ぐための対策を講じたいと思います(キャプチャではないことが望ましい)。

これが私が思いついたオプションのいくつかです-それに対処するためのより良い、より良い方法はありますか?(私はRuby on Rails 3を使用しています)

  • IPアドレスを記録するテーブルを作成し、たとえば1時間でX回の電子メールをすでに送信しているIPを一時的に禁止します(たとえば15分)。これにより、単一のIPからの人やボットのスパムに対処できるはずです。スパマーがIPを切り替えることは一般的ですか?(1週間以上前のIPを削除するので、テーブルは常にかなり小さいはずです)。

  • ハニーポット-非表示のフォームフィールドを使用します。これはボットにのみ役立ちます。

  • 上記の2つを一緒に使用する

  • キャプチャを使用します。人々は一般的にそれを好まないので、これにはあまり熱心ではありません(そしてそれはAPIにとって良いオプションではありません)。

思いもよらなかったことがありますか?

4

1 に答える 1

1

お問い合わせフォームの送信時にタイムアウトを設定し、IPアドレスで関連付けることをお勧めします(常にREMOTE_ADDRサーバー環境変数を使用してください。他のものを信頼することはできません。IPv6アドレスにも備えてください)。

ハニーポットは問題を解決せず、サイトのトラフィックを増やすだけです。

キャプチャは便利ですが、タイポグラフィ/ OCRキャプチャ(ReCAPTCHAなど)を使用する必要はありません。単純に生成された数式も問題なく機能します。お問い合わせフォームは自動ボットを対象としているため、キャプチャが必要だと思います。

しかし、最良のスパム保護は受信者側にあります。それができない場合は、独自のコンテンツベースのスパムフィルターが設定されている独自のSMTPサーバーを使用してください。

于 2012-07-07T22:49:01.233 に答える