Cara Memasang Google Recaptcha Helper di Ruby on Rails
Web Developer | Blogger | Creator of RubyPedia.com
24 Mei 2018

Google reCAPTCHA merupakah sebuah layanan captcha mempermudah para developer untuk mengamankan / menghindari dari serangan spam pada website yang dibangun.

reCAPTCHA adalah sebuah layanan CAPTCHA gratis yang membantu proses digitalisasi buku, koran dan siaran radio pada masa lalu. ... CAPTCHA biasanya digunakan untuk menghindari serangan bot dan spam pada suatu website .

Pada tutorial kali ini kita akan mencoba menggunakan helper reCaptcha di Rails, langsung saja

Tambahkan gem berikut ini di file Gem aplikasi teman-teman:

gem "recaptcha", require: "recaptcha/rails"

Setelah itu, ketik bundle install

Setelah selesai, silahkan buat file baru di folder config/initializers, dengan nama recaptcha.rb, dan masukkan kode berikut ini:

# config/initializers/recaptcha.rb
Recaptcha.configure do |config|
  config.site_key   = '6Lc6BAAAAAAAAChqRbQZcn_yyyyyyyyyyyyyyyyy'
  config.secret_key = '6Lc6BAAAAAAAAKN3DRm6VA_xxxxxxxxxxxxxxxxx'
  # Uncomment the following line if you are using a proxy server:
  # config.proxy = 'http://myproxy.com.au:8080'
end

Silahkan daftar api dari google reCaptcha di sini https://www.google.com/recaptcha/admin

NOTE : gunakan localhost atau 127.0.0.1 jika menggunakan localhost:3000

Kemudian ganti value config.site_key dan config.screet_key yang ada di file config/initializers/recaptcha.rb dengan api yang sudah di daftarkan di google reCaptcha diatas.

Cara Menggunakan

Tambahkan kode berikut ini di view yang ingin di kasih reCaptcha:

<%= form_for @foo do |f| %>
  # ... other tags
  <%= recaptcha_tags %>
  # ... other tags
<% end %>

Kemudian untuk verifikasi reCaptchanya di controller bisa seperti berikut ini:

# app/controllers/users_controller.rb
@user = User.new(params[:user].permit(:name))
if verify_recaptcha(model: @user) && @user.save
  redirect_to @user
else
  render 'new'
end

Untuk custom message bisa di tambah di dalam parameter verify_recaptcha() menjadi seperti ini misalnya:

# app/controllers/users_controller.rb
@user = User.new(params[:user].permit(:name))
if verify_recaptcha(model: @user, :message=> 'ini adalah custom message error') && @user.save
  redirect_to @user
else
  render 'new'
end 

Kurang lebih seperti ini, jika dijalankan kurang lebih tampilanya akan seperti ini:

INFO : untuk teman-teman yang ingin belajar membuat aplikasi rails dengan crud manual bisa download aplikasi yang sudah jadi di :


https://github.com/maulayyacyber/rails-manual-crud


jangan lupa fork dan startnya ya ;)

Blog ini telah dibaca sebanyak 323 kali
Rails Ruby on Rails Rails App Helper reCaptcha Helper reCaptcha Google reCaptcha

Sekilas Tentang Penulis

Fika Ridaul Maulayya
Web Developer | Blogger | Creator of RubyPedia.com

KOMENTAR

blog comments powered by Disqus