Question

Je suis en train d'utiliser cette bijou pour créer un pot de miel, mais je ne suis pas sûr de la façon de la mettre en œuvre.Comment fonctionne le formulaire de savoir quel champ pour faire le pot de miel et où dois-je préciser l'étiquette?Voici le code que j'ai utilisé pour le champ, cependant quand je lance l'application sur le système affiche le formulaire pour être visible:

= 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

Ce pot de miel est utilisé sur un formulaire d'inscription qui demande uniquement l'adresse mail et puis il y a l'extra pot de miel champ de ce qui est caché.J'ai actuellement une invitation de service, de sorte que quand les gens entrer son e-mail, une invitation est créé et que je peux accepter ou de le rejeter.Ce que je veux faire est de se débarrasser de la fonction d'invitation, mais je suppose que je peux utiliser cette fonction d'invitation en conjonction avec le pot de miel de terrain pour stopper les bots de s'inscrire.

Est-il un moyen pour moi d'ignorer les modèles et continuer à utiliser le pot de miel champ d'accepter ou de rejeter l'invitation?Je n'ai pas vraiment besoin de stocker le pot de miel de données, mais j'ai besoin de l'utiliser pour décider si oui ou non l'invitation devrait être acceptée.

Donc, il faut travailler comme ceci:

  1. L'utilisateur obtient à la page d'atterrissage
  2. L'utilisateur voit formulaire d'inscription composé de
    1. adresse de courriel zone de saisie
    2. pot de miel champ de ce qui est caché
  3. Si un bot registres, il permettra de remplir dans le pot de miel, de sorte que lorsque l' l'invitation est en cours de création, je peux accepter automatiquement ceux qui ne remplissez pas le pot de miel et celles qui ne seront rejetées.

Encore une chose, comment puis-je tester le pot de miel terrain pour voir si son travail?Je veux de la remplir et de voir si mon code fait ce que son supposé.

Était-ce utile?

La solution 2

Donc, à partir de ce que je reçois, vous avez une page d'atterrissage formulaire dans lequel l'utilisateur doit entrer un e-mail, et il y a un pot de miel pour filtrer les robots.

  1. Si vous êtes à l'aide de cette gemme, vous verrez que vous n'avez pas besoin d'ajouter vous-même le pot de miel de champ au formulaire.Lorsque vous la mettre en œuvre avec :honeypot => true dans les options html, il crée automatiquement un caché champ de texte avec l'étiquette appropriée pour l'accessibilité.

  2. Si vous utilisez un pot de miel pour le filtrage des bots, quand un bot soumet la forme de la manette, et a rempli le courriel et le pot de miel, il suffit d'ajouter un before_filter :protect_from_spam.Si vous voulez faire quelque chose de spécial dans cette fonction, vous pouvez remplacer ses valeurs par défaut dans le contrôleur ainsi.

  3. Vous pouvez le tester par l'inspection de l'élément dans le navigateur (avec Firebug sur Firefox par exemple) simplement en modifiant le css display: le pot de miel de l'absence de la ligne.De cette façon, vous pouvez remplir l' terrain et voir ce qui se passe quand vous faites sans changer l' code.

Autres conseils

Je suis désolé, vous n'avez pas compris ma réponse précédente, je vais la reformuler

Donc, à partir de ce que je reçois, vous avez une page d'atterrissage formulaire dans lequel l'utilisateur doit entrer un e-mail, et il y a un pot de miel pour filtrer les robots.

  1. si vous êtes à l'aide de cette gemme, vous verrez que vous n'avez pas besoin de vous ajouter le pot de miel de champ au formulaire.(je n'ai pas exactement de voir le but de l'utilisation d'un bijou pour cela, mais de toute façon..)

  2. lorsque vous ajoutez un champ de texte à la forme et voulez qu'il soit invisible, vous devez le rendre invisible vous-même (c'est la façon dont les champs de texte de travail)

  3. si vous utilisez un pot de miel pour le filtrage des bots, quand un bot envoie le formulaire au contrôleur, et a rempli le courriel et le pot de miel que vous venez d'ajouter un before_filter :check_honeypot, et dans cette fonction vérifier si le pot de miel champ est vide ou pas, et si elle ne l'est pas, eh bien, vous avez un bot, droit?afin de rejeter automatiquement

Référez celui-ci pour le tutoriel de Honeypot côté client et serveur Formulaires sécurisés et commentaires des robots à l'aide de Honeypot

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top