是否可以限制为每个用户在一段时间内恢复发送的emials的数量?我如何防范恶意请求?
答案 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 %>