Arrêter le spam sans captcha
Je veux empêcher les spammeurs d'utiliser mon site. Mais je trouve CAPTCHA très ennuyeux. Je ne suis pas seulement parler de la "tapez le texte" type, mais quelque chose qui demande à l'utilisateur de perdre son temps à prouver lui-même de l'homme.
Que puis-je faire ici?
- réplique exacte de la la Pratique de la non-image CAPTCHA approches? et aussi stackoverflow.com/q/111576/10080. Voir mes réponses (et les autres) il y a des.
Vous devez vous connecter pour publier un commentaire.
Nécessitant Javascript pour poster des blocs de données d'une bonne quantité de robots de spam tout en n'interférant pas avec la plupart des utilisateurs.
Vous pouvez également utiliser un truc astucieux:
La plupart des robots seront transférées dans le premier champ, de sorte que vous pouvez les bloquer.
display: none
.input[name=email]: display:none;
pour un juteux-champ nommé comme<input name="email" id="email" type="text">
n'a pas empêché le bot de continuer à envoyer des e-mails, tout juste après à l'aide deposition:absolute; left:-9000px;
a fait le tour. Probablement (pour la même raison) et non le meilleur, mais il a travaillé. Juste partager mes trouvés.Intégrer la L'API Akismet de filtrer automatiquement vos utilisateurs de postes.
Je combiner plusieurs méthodes qui semblent tout à fait réussi jusqu'à présent:
Fournir un champ de saisie avec le nom
email
et masquer à l'aide de CSSdisplay: none
. Lorsque le formulaire est soumis vérifier si ce champ estvide. Les robots ont tendance à se remplir avec un faux e-mail.
Fournir un autre champ caché qui contient l'heure de la page
est chargé. Vérifiez si le temps entre le chargement et la soumission de la page
est plus grand que le temps minimum qu'il faut pour remplir le formulaire. J'utilise
entre 5 et 10 secondes.
De vérifier ensuite si le nombre de paramètres comme vous le souhaitez.
Si votre formes d'action c'est du POST et l'URL sous-jacente de votre
page de soumission est
index.php?p=guestbook&sub=submit
, alors vousattendre 2 paramètres GET. Les robots essayez d'ajouter des paramètres GET, donc ce
vérification de l'échec.
Et enfin, vérifier si le HTTP_USER_AGENT est de définir des bots n'est pas définie,
et que le HTTP_REFERER est l'URL de la page de votre formulaire. Les Bots
parfois, il vous suffit de POSTER à la page de soumission provoquant le HTTP_REFERER
être quelque chose d'autre.
J'ai obtenu la plupart de mes informations de http://www.braemoor.co.uk/software/antispam.shtml et http://www.nogbspam.com/.
name="email"
est une cible idéale pour les robots de spam, mais ladisplay:none;
n'a pas travaillé. Ce qui a fonctionné a été plutôt:position: absolute; left:-9000;
! Juste le partage.Je serais prudent, à l'aide de CSS ou de Javascript astuces pour assurer qu'un utilisateur est un réel véritable vie de l'homme, comme vous avez pu introduire les questions d'accessibilité, de la croix-navigateur, etc. Pour ne pas mentionner les robots de spam peut être assez sophistiqué, donc l'emploi de mignons petits CSS display astuces peuvent même pas travailler de toute façon.
Je veux le regarder dans Akismet.
Aussi, vous pouvez être créatif dans la façon de valider les données de l'utilisateur. Par exemple, disons que vous avez un formulaire d'inscription qui nécessite que l'utilisateur e-mail et adresse. Vous pouvez être assez hardcore dans la façon de valider l'adresse e-mail, allant même jusqu'à garantir que le domaine est en fait mis en place pour recevoir du courrier, et qu'il y a une boîte aux lettres sur ce domaine qui correspond à ce qui était prévu. Vous pouvez également utiliser l'API Google Maps pour l'essayer et de le géolocaliser une adresse et de s'assurer qu'il est valide.
De prendre encore plus loin, vous pourriez mettre en œuvre le "hard" et "soft" des erreurs de validation. Si l'adresse e-mail ne correspond pas à une expression régulière de la validation de la chaîne, alors que c'est dur d'échouer. N'étant pas en mesure de vérifier les enregistrements DNS du domaine pour s'assurer qu'il accepte les messages, ou que la boîte aux lettres de, est un "soft" de l'échec. Lorsque vous rencontrez un doux échec, vous pouvez alors demander CAPTCHA de validation. Ce serait l'espérons, de réduire la quantité de temps que vous avez à pousser pour CAPTCHA vérification, parce que si vous obtenez assez de l'activité sur le site, valide les gens devraient être saisie de données valides au moins de temps en temps!
Si vous êtes à la recherche d'un .NET solution, la Ajax Control Toolkit a un contrôle nommé NoBot.
NoBot emploie quelques-uns des différents anti-bot techniques:
Plus de discussion et de démonstration à cette article sur le blog de Jacques-Louis Chereau sur NoBot.
Je réalise que c'est un vieux post, cependant, je suis tombé sur une solution intéressante appelé le "pot de miel captcha" qui est facile à mettre en œuvre et ne nécessite pas de javascript:
Fournir un caché zone de texte!
Pour empêcher un utilisateur avec un lecteur d'écran de tomber dans le piège simplement l'étiquette de la boîte de texte "Si vous êtes un humain, laissez le champ vide" ou quelque chose à cet effet.
Tada! Non-intrusif anti-spam! Voici l'article:
http://www.campaignmonitor.com/blog/post/3817/stopping-spambots-with-two-simple-captcha-alternatives
Car il est extrêmement difficile de l'éviter à 100%, je vous recommande de lire cette IBM article posté il y a 2 ans intitulé "Real Web 2.0: Luttant Web spam", où le comportement des visiteurs et de contrôle de flux de travail sont bien analysées et concis
Est aussi lié à une très intéressante "...hashcash technique pour réduire le spam sur les Wikis et, en plus de e-mail."
Comment faire un homme lisible question qui indique à l'utilisateur de mettre la première lettre de la valeur, il a mis dans le champ prénom et la dernière lettre du nom de domaine ou quelque chose comme ça?
Ou afficher certains champs cachés qui sont remplis avec du JavaScript avec des valeurs comme le referer et ainsi de on. Pour vérifier l'égalité de ces champs avec ceux que vous avez stockées dans la session avant.
Si les valeurs sont vides, l'utilisateur n'a pas de javascript. Ensuite, il serait pas de spam. Mais un bot sera au moins de remplir certains d'entre eux.
Sûrement, vous devez sélectionner une chose pot de miel ou BOTCHA.