49eb4d4ddf
* Add honeypot fields to limit non-specialized spam Add two honeypot fields: a fake website input and a fake password confirmation one. The label/placeholder/aria-label tells not to fill them, and they are hidden in CSS, so legitimate users should not fall into these. This should cut down on some non-Mastodon-specific spambots. * Require a 3 seconds delay before submitting the registration form * Fix tests * Move registration form time check to model validation * Give people a chance to clear the honeypot fields * Refactor honeypot translation strings Co-authored-by: Claire <claire.github-309c@sitedethib.com>
9 lines
328 B
Ruby
9 lines
328 B
Ruby
# frozen_string_literal: true
|
|
|
|
class RegistrationFormTimeValidator < ActiveModel::Validator
|
|
REGISTRATION_FORM_MIN_TIME = 3.seconds.freeze
|
|
|
|
def validate(user)
|
|
user.errors.add(:base, I18n.t('auth.too_fast')) if user.registration_form_time.present? && user.registration_form_time > REGISTRATION_FORM_MIN_TIME.ago
|
|
end
|
|
end
|