[RUBY] [Rails] So installieren Sie reCAPTCHA

Ziel

ezgif.com-video-to-gif.gif

Entwicklungsumgebung

・ Ruby: 2.5.7 Schienen: 5.2.4 ・ Vagrant: 2.2.7 -VirtualBox: 6.1 ・ Betriebssystem: macOS Catalina

Annahme

Folgendes wurde implementiert.

Schlanke Einführung

Registrieren Sie reCAPTCHA

1. Greifen Sie auf den unten stehenden Link zu

reCAPTCHA

2. Klicken Sie auf "Admin-Konsole"

スクリーンショット 2020-06-11 19.59.07.png

3. Stellen Sie wie in der Abbildung unten gezeigt ein und klicken Sie auf "Senden"

スクリーンショット 2020-06-11 20.02.04.png

スクリーンショット 2020-06-11 20.02.09.png

4. Erstellen Sie eine Kopie des "Site-Schlüssels" und des "geheimen Schlüssels" und notieren Sie diese.

スクリーンショット 2020-06-11 20.07.55.png

Implementierung

1. Machen Sie Umgebungsvariablen "Site Key" und "Secret Key"

** ① Einführung von "gem'dotenv-Rails" **

Gemfile


gem 'dotenv-rails'

Terminal


& bundle

** ② Erstellen Sie eine ".env" -Datei direkt unter der Anwendung **

Terminal


$ touch .env 

スクリーンショット 2020-06-02 11.32.54.png

** ③ Bearbeiten Sie die .env-Datei **

.env


#Nachtrag
RECAPTCHA_SITE_KEY = 'Site-Schlüssel'
RECAPTCHA_SECRET_KEY = 'Geheimer Schlüssel'

** ④ Bearbeiten Sie die .gitignore-Datei **

.gitignore


/.env #Nachtrag

2. Erstellen / bearbeiten Sie die reCAPTCHA-Einstellungsdatei

Terminal


$ touch config/initializers/recaptcha.rb

recaptcha.rb


#Nachtrag
Recaptcha.configure do |config|
  config.site_key = ENV["RECAPTCHA_SITE_KEY"]
  config.secret_key = ENV["RECAPTCHA_SECRET_KEY"]
end

3. Bearbeiten Sie resistration_controller.rb

resistration_controller.rb


#Nachtrag
prepend_before_action :check_captcha, only: [:create]

private

  #Wenn Sie keine reCAPTCA-Authentifizierung durchführen, können Sie sich nicht anmelden und eine Validierungsmeldung wird angezeigt.
  def check_captcha
    self.resource = resource_class.new sign_up_params
    resource.validate
    unless verify_recaptcha(model: resource)
      respond_with_navigational(resource) { render :new }
    end
  end

4. Ansicht bearbeiten

slim:resistrations/new.html.slim


/Nachtrag
= recaptcha_tags

5. Japanische Lokalisierung der Validierungsnachricht

** ① Einführung von Gem **

Gemfile


gem 'rails-i18n'
gem 'devise-i18n'

Terminal


$ bundle

** ② Bearbeiten Sie application.rb **

application.rb


module Bookers2Debug
  class Application < Rails::Application
    config.load_defaults 5.2
    config.i18n.default_locale = :ja #Nachtrag
  end
end

** ③ Erstellen / Bearbeiten der Datei devise.ja.yml **

yml:devise.ja.yml


ja:
  recaptcha:
    errors:
      verification_failed: 'Die ReCAPTCHA-Authentifizierung ist fehlgeschlagen.'

Recommended Posts

[Rails] So installieren Sie reCAPTCHA
[Rails] So installieren Sie ImageMagick (RMajick)
[Rails] So installieren Sie Font Awesome
So installieren Sie Swiper in Rails
Wie schreibe ich Rails
So installieren Sie Docker
So deinstallieren Sie Rails
So installieren Sie Docker-Maschine
So installieren Sie MySQL
[Schienen] Wie poste ich Bilder?
[Rails] Verwendung von Enum
[Rails] Verwendung von Enum
Wie man Schienenrouten liest
So installieren Sie Boots Faces
Verwendung von Rails Join
So beenden Sie den Rails-Server
Wie schreibe ich Rails Seed
[Rails] Verwendung der Validierung
[Schienen] So deaktivieren Sie Turbolinks
[Rails] So verwenden Sie authenticate_user!
[Rails] So implementieren Sie Scraping
[Schienen] Wie man Samen macht
Wie schreibe ich Rails Routing
So installieren Sie JDK8-10 (Mac)
[Schienen] Verwendung von Scope
[Rails] Wie man Edelstein "devise" benutzt
[Schienen] Verwendung von Geräten (Hinweis)
[Rails] Verwendung von Flash-Nachrichten
[Rails] Anzeigen von Datenbankinformationen
So installieren Sie JMeter für Mac
[Schienen] So verhindern Sie den Bildschirmübergang
So installieren Sie Ruby über rbenv
[So installieren Sie Spring Data Jpa]
Verwendung von Ruby on Rails
So stellen Sie Bootstrap auf Rails bereit
[Rails] So beschleunigen Sie das Docker-Compose
Super rau! So installieren Sie Dagger2
[Schienen] So fügen Sie neue Seiten hinzu
So installieren Sie Bootstrap in Ruby
So installieren Sie MariaDB 10.4 unter CentOS 8
So installieren Sie WildFly unter Ubuntu 18.04
So installieren Sie jQuery in Rails 6
[Rails] So implementieren Sie die Sternebewertung
[Einführung in Rails] Verwendung von Render
Super einfach in 2 Schritten! So installieren Sie devise! !! (Schienen 5 Version)
So implementieren Sie Suchfunktionen in Rails
So ändern Sie den App-Namen in Rails
Installieren Sie Webpacker und Yarn, um Rails auszuführen
So installieren Sie Play Framework 2.6 für Mac