是否可以限制为每个用户在一段时间内恢复发送的电子邮件数量?

时间:2016-07-22 08:43:27

标签: ruby-on-rails devise devise-recoverable

是否可以限制为每个用户在一段时间内恢复发送的emials的数量?我如何防范恶意请求?

2 个答案:

答案 0 :(得分:0)

我会使用grecaptcha保护您的表单,让用户救出他的帐户。

它非常简单易用,并且可以将它包含在您的rails应用程序中。

在您看来:

<%= form_for @user do |f| %>
  <%= recaptcha_tags %>
<% end %>

在您的控制器中,创建操作:

def create
  verify_recaptcha(model: @user) # => returns true or false
end

答案 1 :(得分:0)

限制:&#34;发送的emials可恢复&#34;

示例Gemfile:

gem 'simple_captcha2'

路线:

devise_for :users, :controllers => { ..., :passwords => 'passwords', ... }

应用程序/控制器/ passwords_controller.rb:

class PasswordsController < Devise::PasswordsController
prepend_before_action :require_no_authentication
#
# GET /resource/password/new
def create
    if simple_captcha_valid?
        super
    else
        ....
    end
end

应用程序/视图/设计/口令/ new.html.erb 进入form_for:

<%= show_simple_captcha %>