J'ai compilé une liste d'éléments pouvant protéger un formulaire Web de span. Lesquels sont réellement efficaces? S'il vous plaît n'hésitez pas à ajouter des éléments supplémentaires.
De loin, ma technique préférée s'appelle un "pot de miel". Voici comment ça marche ...
Dites que votre formulaire demande un nom. Placez les deux champs suivants sur la page:
<span class='hp'>
<label for='Message'>Message:</label >
<textarea id='Message' name='message' />
</span>
<span>
<label for='TmpField'>Message:</label >
<textarea id='TmpField' name='tmpField' />
</span>
Faites la première partie avec la classe hp
masquée via CSS. C'est le pot de miel. Le bot ne verra pas les CSS, il va donc essayer de remplir le champ message
avant de soumettre le formulaire. Les utilisateurs ne verront que tmpField
et y entreront leur message. (Il est évident que votre code de traitement de formulaire doit être sur la ruse.)
Dans votre code de traitement de formulaire, supprimez simplement toute entrée où le champ message
contient du contenu. Ignore le. Continuez comme si de rien n'était. Vous ne voulez certainement pas dire aux robots spammeurs "Oh, ça n'a pas marché" pour qu'ils puissent réessayer.
Chez Glassdoor, nous constatons que cette technique supprime presque TOUS les spams grâce à nos formulaires.
D'après mon expérience personnelle, j'ai constaté que CAPTCHA est pratiquement inefficace pour prévenir les attaques de spam. Ce que j’utilise et que j’ai trouvé le plus utile est d’ajouter un champ au formulaire et de le recouvrir de CSS afin qu’il ne soit pas exposé à des visiteurs humains. Les robots de spam apportent une valeur à ces champs et peuvent être facilement bloqués. C’est plus simple que toutes les solutions que vous avez proposées, élégant, très efficace, fonctionne très bien avec des personnes ne disposant pas de la technologie ajax/js et n’affecte pas l’expérience utilisateur (contrairement à CAPTCHA).