Comment puis-je empêcher le spam sur les sites que je contrôle?


27

Il s'agit d'une question générale du wiki communautaire destinée à répondre à toutes les questions de prévention du spam non spécifiques.

Si votre question a été fermée en double de cette question et que vous estimez que les informations fournies ici ne fournissent pas une réponse suffisante, veuillez ouvrir une discussion sur Pro Webmasters Meta .


Aux fins de cette question, le spam comprendra:

  • Tout message automatisé
  • Contenu publié manuellement qui comprend des liens vers des sites de spammeurs
  • Contenu affiché manuellement qui comprend des instructions pour visiter le site d'un spammeur

Réponses:


27

La liste suivante est organisée par facilité relative de mise en œuvre, coût de maintenance et efficacité de la prévention du spam:

Désactiver tout le contenu généré par l'utilisateur

Il s'agit d'une solution de terre brûlée qui nuit à la croissance d'une communauté d'utilisateurs autour de votre site.Cependant, elle vous garantit également un gain de temps et d'efforts pour gérer le spam ou la prévention du spam.

À moins de désactiver le contenu généré par l'utilisateur, il n'y a pas de solution garantie pour empêcher tous les spams (ou tout autre contenu indésirable) d'apparaître, cependant, une solution qui dissuade la plupart des spammeurs devrait être suffisante si vous offrez également aux visiteurs de votre site la possibilité de marquer le contenu comme spam.

Externaliser la gestion du contenu généré par l'utilisateur

Des services comme Disqus permettent aux webmasters d'externaliser le filtrage, le stockage et la publication des commentaires générés par les utilisateurs. (Remarque: L'utilisation d'un service tiers nécessite une configuration supplémentaire pour garantir que les commentaires seront indexés par les moteurs de recherche)

CAPTCHA

Selon Wikipedia , CAPTCHA signifie "Test de Turing public complètement automatisé pour distinguer les ordinateurs et les humains". Tout test automatisé conçu pour empêcher un ordinateur de publier du contenu est un CAPTCHA: cela inclut de forcer les utilisateurs à lire des lettres, des chiffres et des mots à partir d'images, à faire des casse-tête simples ou des questions mathématiques, ou à "prouver" qu'ils sont des personnes.

L'inconvénient de CAPTCHA est que

  1. La plupart des formes de CAPTCHA fournissent un niveau de gêne pour les utilisateurs.

  2. Ils ne sont pas 100% protecteurs. Notez que bon nombre de ces tests peuvent être effectués par des ordinateurs si un programmeur compétent décide d'investir suffisamment de temps et d'efforts sur le problème

Q&A CAPTCHA

Le CAPTCHA le plus efficace pour les petits sites est la question et la réponse CAPTCHA. Un Q&R CAPTCHA est une question à laquelle un site Web demande à un utilisateur de répondre. La question est quelque chose que toute personne visitant le site saurait, mais qu’un programme informatique ne saurait pas. Un exemple de question pour un site sur le référencement serait "Que signifie le référencement". Il serait facile pour le lecteur moyen de ce site de répondre à cette question, mais aucun programme informatique ne pourrait le faire.

REMARQUE: des questions comme «ce qui est 1 + 1» ne fonctionnent pas bien, car elles sont souvent utilisées et les personnes qui créent des spambots les programment pour répondre correctement à ces questions.

Cependant, si votre site reçoit beaucoup de trafic, les spammeurs programmeront leurs robots pour répondre automatiquement à ces questions, et le Q & A CAPTCHA ne sera plus affectif.

Champ caché

Si vous avez un formulaire et que vous ne voulez pas que les spammeurs puissent l'utiliser, un bon moyen de les arrêter est d'utiliser un champ caché. Celles-ci sont très simples à configurer: ajoutez un champ redondant à votre formulaire, masquez-le via css (ou JavaScript) et arrêtez tout ce qui tente d'entrer une valeur dans ce champ. Les utilisateurs normaux ne pourront pas voir le champ et l'ignoreront, car il leur est caché, mais les programmes informatiques employés par les spammeurs tenteront d'entrer une valeur dans ce champ, car ils ne traitent pas CSS ou javascript. Afin de battre les spambots qui chargent CSS ou Javascript, vous pouvez ajouter un champ supplémentaire aux formulaires avec une demande de le laisser vide. Tout visiteur humain le laissera vide et vous pourrez facilement bloquer les robots qui ajoutent des données au champ. N'oubliez pas que cela peut rendre le site non professionnel.

Analyse du trafic et du contenu

Les spammeurs ont un nombre limité de réseaux et de machines à publier (qu'ils utilisent généralement jusqu'à ce qu'ils ne fonctionnent plus). Les solutions d'analyse du trafic collectent des données à partir d'un grand nombre d'hôtes pour déterminer si une publication contient du contenu de spam connu ou provient d'un hôte ou d'un réseau de spam connu.

Il existe une variété de solutions CAPTCHA et d'analyse de trafic tierces qui sont gratuites (ou bon marché) et la plupart des logiciels de gestion de contenu open source incluent des modules intégrés pour l'utilisation de services tels que Akismet et reCAPTCHA .

Bloquer les mots couramment contenus dans le spam

Si vous remarquez que le spam sur votre site Web contient généralement des mots qui ne sont pas (ou ne sont pas) utilisés par des utilisateurs légitimes (tels que "liens gratuits vers votre site"), alors empêcher les utilisateurs de publier ces mots est une solution affective. Si vous craignez que les utilisateurs qui ont une utilisation légitime de ces mots dans leurs messages aient des problèmes de publication sur votre site, vous pouvez définir le filtre de sorte qu'il ignore les messages des utilisateurs établis.

rel="nofollow"

Les spammeurs ont tendance à se concentrer sur les sites qui leur permettent de publier des liens que les moteurs de recherche suivront (améliorant ainsi le classement de recherche du site dont ils font la publicité).

Vous pouvez rendre votre site moins attrayant pour les spammeurs en ajoutant rel="nofollow"des liens inclus dans le contenu généré par les utilisateurs.Cependant, cette approche peut ne pas fonctionner, car la plupart des spams sont automatisés et les spammeurs n'ont aucun moyen de savoir si un site utilise des rel="nofollow"liens.

Modération par les utilisateurs

Le contenu peut être publié par n'importe qui, cependant, une fois que le contenu s'affiche sur le site, il peut également être signalé comme spam et supprimé (cette option ne fonctionne qu'en pratique si les visiteurs perçoivent le contenu spam comme relativement rare: si le spam est autorisé à dépasser les commentaires utiles , la plupart des visiteurs ne prendront pas la peine de signaler le spam).

Gamification

La gamification est un excellent moyen de motiver les utilisateurs à signaler le spam. Pensez à ajouter une fonctionnalité de «poids de l'indicateur» à votre site: plus les utilisateurs de spam signalent, plus ils obtiennent de points. Cela rendra la chasse au spam plus amusante et donnera aux personnes qui signalent des droits de se vanter du spam. Cela encouragera à son tour les utilisateurs à signaler le spam.

Modération par les administrateurs

Un être humain doit examiner chaque élément de contenu publié avant sa publication sur le site - bien que cela n'empêche pas la publication de spam, il empêche l'affichage du spam aux visiteurs du site (réduisant ainsi la valeur du site pour les spammeurs humains) .

Enregistrement de l'utilisateur

L'enregistrement des utilisateurs est une amélioration par rapport à CAPTCHA car les utilisateurs ne sont obligés de prouver qu'ils sont humains qu'une seule fois avant d'être autorisés à commenter à leur convenance - il ne s'agit pas techniquement d'une forme différente de prévention du spam, bien que cela supprime le spam créé par un utilisateur ou groupe d'utilisateurs spécifique (identifié par nom d'utilisateur, e-mail, adresse IP ou autre facteur d'identification) plus facile à appliquer.

Nouveaux utilisateurs modérés

Au lieu d'approuver chaque publication, un administrateur peut examiner les inscriptions de nouveaux utilisateurs pour déterminer s'il faut ou non approuver un utilisateur en fonction de la cohérence ou non de l'inscription de l'utilisateur avec les spammeurs identifiés ou les spambots automatisés.

Limiter les nouvelles capacités utilisateur

Les spammeurs humains se souviendront rarement de revenir aux comptes qu'ils ont créés s'ils ne peuvent pas publier librement du spam sur un compte - exiger que les nouveaux utilisateurs créent un nombre défini de messages (si la communauté a la possibilité de signaler le spam) et / ou attendre un ensemble délai avant la levée des restrictions sur la publication de liens ou de plusieurs publications.

Facturer les utilisateurs pour l'adhésion

Si vous facturez l'adhésion, même si les frais sont faibles, les spammeurs seront obligés de comparer le coût de l'adhésion à la valeur de l'envoi de spam sur votre site (et de passer sur votre site en faveur de cibles plus faciles).

Inviter seulement

Si vous autorisez uniquement les personnes invitées par d'autres utilisateurs à s'enregistrer, cela réduira considérablement le spam (les humains n'invitent généralement pas de robots).

Ce qui suit est du projet BOTCHA , Drupal.

Pot de miel

Mise en place d'un piège à miel . L'essentiel est que le champ est ajouté au formulaire avec une certaine valeur, qui est ensuite modifiée par JS. Le spam est une soumission de formulaire dont la valeur calculée n'est pas la même que celle dont nous avons besoin.

HoneyPot2

La même chose que ci-dessus, mais en utilisant comme source de calcul non pas la valeur d'un champ particulier, mais les données de CSS.

ObscureUrl

Similaire à HoneyPot2: construit par JS est comparé au besoin. La différence est que la valeur initiale est transmise via le paramètre GET.

Conclusion

La plupart des webmasters trouveront qu'une combinaison des solutions répertoriées ci-dessus (à l'exception du refus de contenu généré par les utilisateurs) fonctionne mieux pour leur site et au moins une solution doit être mise en œuvre pour empêcher le spam automatisé d'étouffer les discussions des visiteurs.


1
+1 par réponse! J'ajouterais que vous pouvez mettre en place un certain type de système de récompense pour les utilisateurs qui signalent du spam dans le cadre de la méthode "Modéré par les utilisateurs". Dans l'application que je suis en train de créer, les utilisateurs qui signalent avec succès les spammeurs obtiendront des "points anti-spam" qui sont comme des droits de vantardise qui apparaissent sur leurs profils. De plus, ils peuvent dépenser ces points comme la monnaie sur le site pour obtenir des résultats de liste plus élevés sur les recherches de profil. Bien sûr, cela ouvre la possibilité d'abus, je dois donc trouver un moyen de lutter contre cette forme de spam en cas de survenance.
JakeRow123

@ JakeRow123 J'ai ajouté une section sur la gamification: n'hésitez pas à la modifier et à ajouter vos réflexions.

5

Nous avons récemment éliminé le spam de notre formulaire Contactez-nous avec une implémentation très simple. Nous avons ajouté une entrée intitulée "URL:" dans le formulaire HTML et l'avons rendue invisible pour les vrais utilisateurs. Ensuite, dans le processeur de formulaire, nous vérifions s'il a une valeur et agissons en conséquence.

Les spambots prennent l'appât tout le temps; ils ont mis une URL vers un site spam. Notre script le voit et jette le commentaire (en fait, nous recyclons les morceaux parce que nous essayons d'être une sorte d'entreprise plus verte et respectueuse de l'environnement). Pendant un certain temps, nous stockions toujours le commentaire incriminé dans une table de base de données pour examen, mais nous refusions d'envoyer les résultats par e-mail n'importe où. Voilà comment nous savons que cela a fonctionné.

Avec cette méthode simple, nous sommes passés d'environ 30+ messages de spam "Contactez-nous" par jour à ZERO.

Bonne chance avec quoi que tu choissises!


Dans l'entrée <form>, nous incluons: <p class = "antispam"> Laissez ce champ vide: <input name = "url" width = "200" /> </p> Dans le script de traitement, nous avons: if (isset ($ _ SESSION ['url']) && $ _SESSION ['url'] == '') {mail ($ to, $ subject, $ body, $ headers); }
WebDevKev

1

J'ai un forum, où j'ai temporairement activé les messages anonymes. Je ne voulais pas utiliser Captcha, car j'ai souvent moi-même des difficultés à les lire, ce qui peut empêcher les gens de commenter. Pour aider à prévenir le spam, j'ai utilisé Akismet pour intercepter les messages entrants. Akismet n'est pas à l'épreuve des balles, mais cela m'a beaucoup facilité la vie.

Vous devez cependant être conscient des faux positifs. Donc, ce que j'ai fait, c'était de créer un "attribut de spam" sur mon objet de publication et de le définir sur la valeur de retour d'Akismet. Si un message était marqué comme spam, je me donnerais moi-même et un e-mail, après quoi je pourrais décider s'il s'agissait de spam ou non.


3
Il s'agit d'une question et réponse wiki fourre-tout de la communauté - principale source d'informations générales sur la prévention du spam à utiliser pour fermer les questions en double. Vous êtes invités à fusionner vos recommandations à la liste si vous le souhaitez.
danlefree

+1 akismet semble faire du très bon travail, ne les obtient pas tous et bloque parfois les commentaires légitimes mais 99% du temps c'est vrai
sam

0

Veuillez visiter MediaWiki.
Rechercher une extension: modération
Cette extension vous aidera à prévenir le spam sur les sites que vous contrôlez.
J'ai utilisé cette extension MediaWiki plusieurs fois.
Et cela empêche les robots de créer des articles de spam.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.