Comment créer un honeypot "nucléaire" pour attraper les spammeurs de forme
mon pot à miel actuel sur mon formulaire d'inscription est une entrée pour le numéro de téléphone qui est placé hors de l'écran en utilisant position: fixed;
.
il a triché un remplissage de forme de race standard, mais ne fonctionne pas aussi bien que moi si. En outre, les spambots ont immédiatement répondu aux changements de forme, ce qui signifie que c'est automatique, ce que je peux faire.
Note: je déteste captchs depuis les faire les utilisateurs résoudre mes problèmes qui n'est jamais bon.
1 réponses
construire un honeypot vraiment intelligent
cela peut sembler évident, mais voici quelques astuces (détails plus loin):
- Penser Comme un spam bot
- Supposer qu'ils sont en mesure de savoir ce qui est sur l'écran ou derrière d'autres éléments
- ont plusieurs pièges.
- Piège Du Temps
- pot de miel
1. Pensez comme un robot spam:
commencez à parcourir votre page comme un robot spam, vous pouvez même écrire votre propre qui peut Temps de taille mais est assez amusant :).
La plupart des robots de spam vont ramper à travers le markup à la recherche d'un élément <form>
. Ensuite, ils regarderont vos entrées et les rempliront de façon appropriée, ce qui est le piège: comment savent-ils quoi remplir? Ils vont probablement regarder L'Id, la classe, le placeholder, et l'étiquette. ce qui nous amène à notre première méthode
méthode no 1:
entrées erronées dans le code de votre formulaire . Bascily votre entrée de nom d'utilisateur devrait avoir L'Id de #Form_Email
boom! spam bot remplit le formulaire correctement. Aussi hide and mislabel vos étiquettes inputs, utilisez divs à la place. *
la méthode #2 commence ici
vous avez probablement remarqué que si vous ignorez simplement les choses cachées, basé sur l'emplacement ce qui est en face de lui et même le bon vieux display: none;
, visibility: hidden;
, opacity: 0;
ou type='hidden'
. Cela nous donne une arme puissante. J'ai découvert ça par accident en testant un piège temporel. J'ai utilisé un remplissage de formulaire de base pour remplir le formulaire. Sur mon site(je ne parle pas GiantCowFilms.com), le formulaire d'enregistrement est dans une boîte de dialogue qui s'ouvre lorsqu'un utilisateur clique sur le bouton Enregistrer. Par défaut, il est caché . Cela m'a donné une idée pour
Méthode n ° 2
par Défaut: la forme est cachée. fondamentalement, votre forme est cachée sur la charge de page, mais est découverte par quelque action basée sur la souris (Je ne pense pas que les bots ont des souris). Si vous ne voulez pas que votre formulaire soit visible sur la page de chargement, ajoutez un leurre I identique qui est au-dessus du vrai dans le markup.Si le bot le remplit et le soumet, bloquez son Ip pour quelques minutes.** Pour les utilisateurs, tout simplement lorsque la souris survole le leurre forme, les passer autour.
2. Supposons qu'ils sachent à quoi ressemble votre page
supposer que Cacher honeypot avec CSS est parfait est une grave erreur. Ils sont beaucoup de lecteurs d'écran super intelligents comme les dents de la mer qui pourraient être réutilisés pour spaming. C'est pourquoi vous avez plusieurs lignes de défense.
3. Ont plusieurs pièges
- Pièges De Temps:
Pour revenir à la pensée comme un robot, vous ne voulez pas attendre sur un site au lieu d'attaquer les autres?
méthode n ° 3: Créer un piège temporel.
La meilleure façon est d'imprimer un temps dans une entrée cachée lorsque la page se charge. lorsque vous soumettez le formulaire, il vous indique combien de temps il a fallu. Remplissez le formulaire aussi vite que possible. Cela devrait être le minimum de temps pour remplir votre pour. Note: chiffrez votre horodatage pour que les robots ne puissent pas le changer.
si tu ne veux pas être vraiment chic, mesurer le WPM du bot. Cela se fait sur l'échange de pile( essayer copie et collage puis soumission et question/Réponse). En outre, si la vitesse de dactylographie est très cohérente, c'est un drapeau rouge.
- "Pots De Miel" (Méthode N ° 4): Utilisez tout ce qui précède en même temps pour obtenir les meilleurs résultats. Assurez-vous de tromper les bots muets aussi bien que les bots intelligents (ne supposez pas que le bot est toujours essayer dur.).
maintenant, pour nous spamer, les bots devront avoir des curseurs, rendre la page, attendre, taper à une vitesse réaliste variable. S'ils font un bot comme ça, Alors je suppose que ce sera L'heure du Captcha :(.
* les personnes utilisant des lecteurs d'écran déclencheront ou seront confondues par ces défenses, et selon votre pays, vous pourriez avoir des problèmes pour discrimination contre les aveugles à semi-aveugles. Par conséquent, lorsqu'un utilisateur déclenche le test bot, prenez - les dans un format non chargé avec un captcha adapté aux personnes handicapées comme reCaptcha .
**les gens partagent souvent des IP et vous pouvez chasser les utilisateurs valides.
P. S. utilisez des pots à miel simples comme vous l'avez déjà fait. Certains bots sont trop bêtes pour se faire avoir par ce qu'on a ici.