使用Rails进行新recaptcha的工作示例?

20 ruby validation ruby-on-rails recaptcha ruby-on-rails-4

有人在Rails应用程序中有一个谷歌新的recaptcha的工作示例吗?我试图遵循的每个指南要么不清楚,要么不完整,并且似乎使用不同的方法.

手卷代码更可取.




工作正在进行中:

配置/环境/ production.rb:

  #...
  recaptcha_public_key= "[PUBLIC KEY]"
  recaptcha_private_key= "[PRIVATE KEY]"
end
Run Code Online (Sandbox Code Playgroud)

配置/环境/ development.rb:

  #...
  recaptcha_public_key= "[PUBLIC KEY]"
  recaptcha_private_key= "[PRIVATE KEY]"
end
Run Code Online (Sandbox Code Playgroud)

配置/初始化/ recaptcha.rb

Recaptcha.configure do |config|
  config.public_key  = Rails.application.secrets.recaptcha_public_key
  config.private_key = Rails.application.secrets.recaptcha_secret_key
  config.api_version = 'v2'
end
Run Code Online (Sandbox Code Playgroud)

sun*_*eja 39

使用recaptcha gem,我创建了一个使用复选框方法的示例.

代码可在此处获取:https: //github.com/sunnyrjuneja/recaptcha_example

提交应该很容易遵循.如果您有任何疑问,请告诉我.

示例应用程序:https: //recaptcha-checkbox.herokuapp.com/

更新:

这是一种没有secrets.yml的方法.

将初始化程序更改为如下所示:

Recaptcha.configure do |config|
  config.public_key  = ENV['RECAPTCHA_PUBLIC_KEY']
  config.private_key = ENV['RECAPTCHA_PRIVATE_KEY']
end
Run Code Online (Sandbox Code Playgroud)

在开发或生产环境中,将其添加到.bashrc或.zshrc中.

export RECAPTCHA_PUBLIC_KEY="YOURPUBLICKEY"
export RECAPTCHA_PRIVATE_KEY="YOURPRIVATEKEY"
Run Code Online (Sandbox Code Playgroud)

如果您正在使用Heroku进行部署,请在命令行上执行此操作:

heroku config:set RECAPTCHA_PUBLIC_KEY="YOURPUBLICKEY"
heroku config:set RECAPTCHA_PRIVATE_KEY="YOURPRIVATEKEY"
Run Code Online (Sandbox Code Playgroud)

更新2:

recaptcha gem现在使用不同的方法名称来设置键.

Recaptcha.configure do |config| config.site_key = 'YOUR_SITE_KEY_HERE' config.secret_key = 'YOUR_SECRET_KEY_HERE' # Uncomment the following line if you are using a proxy server: # config.proxy = 'http://myproxy.com.au:8080' end