/ / Rails 3:ユーザーが迅速にスパムを送信できないようにコンテンツの送信を遅延するにはどうすればよいですか? -ruby-on-rails、ruby、ruby-on-rails-3、スパム防止

Rails 3:ユーザーがすばやくスパム送信できないように、コンテンツの送信を遅らせるにはどうすればよいですか? - ruby​​-on-rails、ruby、ruby-on-rails-3、スパム防止

たとえば、ユーザーが投稿を送信する場合、別の投稿を送信できない10分程度の遅延時間が必要です。

誰かが私に良い宝石/チュートリアル/方法を教えてもらえますか?参考までに、I "m on Rails 3。

回答:

回答№1の場合は3

ユーザーごとに追跡する場合は、という列を保持できます last_active これは日時フィールドであり、ユーザーがフォームを送信すると更新されます。 (フォームが多くない場合、これらのタイムスタンプに独自のモデルを与えることを考えてください)。

次に、日付の計算を実行して、10分が経過したかどうかを確認します。

user.last_active + 10.minutes > Time.now ? "User can post" : "User cannot post"

注意: コンソールの前ではなく、 10.minute

次に、フォームロジック:

def form_stuff
//Form Logic
@user.last_active = Time.now
end