From e83d59e6125ab920c85470d2b128fa2cc08ea406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Sibaud?= Date: Thu, 19 Mar 2026 23:38:26 +0100 Subject: [PATCH] add honeypot field for accounts too --- app/controllers/registrations_controller.rb | 10 ++++++++++ app/models/account.rb | 2 ++ app/views/devise/registrations/new.html.haml | 3 +++ db/pages/a-propos.html | 8 ++++++-- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/app/controllers/registrations_controller.rb b/app/controllers/registrations_controller.rb index 8a5d624bd..0facf1335 100644 --- a/app/controllers/registrations_controller.rb +++ b/app/controllers/registrations_controller.rb @@ -1,5 +1,15 @@ # encoding: UTF-8 class RegistrationsController < Devise::RegistrationsController + + def create + honeypot = params[:account].delete(:pot_de_miel) + if honeypot.present? + head :no_content + else + super + end + end + def edit self.resource.totoz_style = cookies.permanent["totoz-type"] self.resource.totoz_source = cookies.permanent["totoz-url"] diff --git a/app/models/account.rb b/app/models/account.rb index 449df8faf..2f08727d7 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -56,6 +56,8 @@ class Account < ActiveRecord::Base mount_uploader :uploaded_stylesheet, StylesheetUploader + attr_accessor :pot_de_miel + attr_accessor :amr_id delegate :name, to: :user diff --git a/app/views/devise/registrations/new.html.haml b/app/views/devise/registrations/new.html.haml index 858876d60..b524755c7 100644 --- a/app/views/devise/registrations/new.html.haml +++ b/app/views/devise/registrations/new.html.haml @@ -9,6 +9,9 @@ %p = f.label :email, "Adresse de courriel" = f.email_field :email, required: "required" + %p.pot_de_miel + = f.label :pot_de_miel, "Ne pas remplir ce champ" + = f.text_field :pot_de_miel %p = f.submit "S’inscrire" diff --git a/db/pages/a-propos.html b/db/pages/a-propos.html index 5021d0f00..3a6ac95e3 100644 --- a/db/pages/a-propos.html +++ b/db/pages/a-propos.html @@ -70,11 +70,15 @@

N’attendez plus et rejoignez la communauté

- +

- + +

+

+ +