Я пытаюсь использовать жемчужину this, чтобы создать поле honeypot, но я не уверен, как его реализовать. Как форма знает, какое поле должно делать honeypot и где я укажу ярлык? Вот код, который я использовал для этой области, однако при запуске приложения появляется форма, чтобы быть видимым:Создание honeypot в регистрационной форме
= form_for(:invitation, :url => request_invite_path, :html => {:id => 'login_form', :honeypot => true}) do |form|
= form.text_field :email, :size => nil
= form.text_field :honeypot #This field was created to store the honeypot input
%button{:type => "submit"} Request Invite
Эта приманка используется в форме регистрации, которая просит только адрес электронной почты, а затем там это дополнительное поле honeypot, которое скрыто. В настоящее время у меня есть служба приглашений, поэтому, когда люди вводят свою электронную почту, создается приглашение, и я могу принять или отклонить его. Что я хочу сделать, так это избавиться от функции приглашения, но я полагаю, что могу использовать эту функцию приглашения в сочетании с полем honeypot, чтобы остановить регистрацию ботов.
Есть ли способ пропустить модели и использовать поле honeypot для принятия или отклонения приглашения? Мне не нужно хранить данные honeypot, но мне нужно использовать его, чтобы решить, следует ли принимать приглашение.
Так оно и должно работать так:
- Пользователь получает на целевую страницу
- Пользователь видит регистрационную форму, состоящую из
- электронной почты ввода адреса поле
- HoneyPot поле, которое скрыто
- Если бот регистрируется, он заполняет honeypot, поэтому, когда создается приглашение. Я могу автоматически принять те, которые не заполняют из honeypot, и те, которые делают, будут отклонены.
Еще одна вещь, как мне проверить поле honeypot, чтобы увидеть, работает ли она? Я хочу заполнить его и посмотреть, делает ли мой код то, что он должен.
Связанный: [Лучше Ханипот Реализация (форма Anti-Spam)] (http://stackoverflow.com/questions/36227376/better -honeypot-implementation-form-anti-spam/36227377) –