2009-03-22 7 views
3

J'envisage d'autoriser les utilisateurs à publier sur mon site sans les enregistrer ni fournir d'informations d'identification. Si chaque message est envoyé à une file d'attente db et que je filtre manuellement ces messages, quel type de problème puis-je rencontrer? Comment pourrais-je gérer ces problèmes?Gestion des messages des utilisateurs non enregistrés par filtrage

Répondre

6

Cribler chaque poste serait fastidieux et fastidieux. Et enclin à l'ennuyeux spam d'administrateur. Ma suggestion serait d'automatiser autant de dépistage que possible. Et de plus, fournir des informations d'identification ne fait rien pour empêcher le spam (un bot le générera simplement). Un grand nombre de projets mettent en œuvre un système de reconnaissance: d'abord, l'utilisateur doit publier 1-2 messages approuvés, puis par IP et (peut-être) un cookie identifié comme un poster de confiance, ses messages apparaissent automatiquement (et plus tard). peut être marqué comme spam).

De plus, certaines heuristiques sur le contenu de la publication pourraient être utilisées (comme la quantité de liens dans la publication) pour éliminer automatiquement les messages de spam potentiels.

2

Tedium semble être la plus grande préoccupation - le dépistage des messages manuellement est efficace contre le spam (je suppose que c'est ce que vous voulez éliminer) mais très ennuyeux.

Il pourrait être mieux fixé avec une tasse de café et une bonne musique à écouter pendant le désherbage?

+0

lol +1 pour l'originalité – Seb

5

Le problème le plus évident est que vous serez submergé par le nombre de soumissions à filtrer, si votre site est suffisamment populaire. Je voudrais m'assurer d'ajouter quelques outils d'administration, de sorte que vous pouvez tuer automatiquement tous les messages d'une adresse IP particulière, ou qui correspondent à une regex particulière. Cela devrait vous aider à vous débarrasser plus rapidement des spams évidents, mais encore une fois, vous devriez être au volant de tout cela.

0
  • messages qui tentent de regarder legit mais ne sont pas
  • le volume

Ce sont les questions que je vois sur mon blog.

2

J'ai trouvé que demander la réponse à une question simple a envoyé le navigateur comme une image (comme "2 + 3 - 4 =", une variante d'un 'captcha' mais pas si ennuyeux), avec un petit Un peu de Javascript fait assez bien.

Envoyez votre formulaire avec le champ image et réponse, et un champ caché avec un "défi" (une chaîne générée de manière aléatoire). Lorsque l'utilisateur soumet le formulaire, hachez le défi et la réponse et renvoyez le résultat au serveur. Le serveur peut vérifier une réponse valide avant de l'ajouter à la base de données pour examen.

Il semble que beaucoup de travail à l'avance, mais il permettra d'économiser des heures de temps d'examen. En utilisant jQuery:

 
<script type="text/javascript"> 
// Hash function to mask the answer 
function answerMask() 
{ 
    var a = $('#a').val(); 
    var c = $('#c').val(); 
    var h = hex_md5(hex_md5(a) + c); 
    $('#a').val(h); 
} 
</script> 
    <form onsubmit="answerMask()" action="/cgi-bin/comment.py" method="POST"> 
    <table> 
     <tr><td>Comment</td><td><input type="text" name="comment" /></td></tr> 
     <tr><td># put image here #</td><td><input id="p" type="text" name="a" size="30" /></td></tr> 
     <tr><td><input id="c" type="hidden" value="ddd8c315d759a74c75421055a16f6c52" name="c" /></td><td><input type="submit" value=" Go "></td></tr> 
    </p> 
    </form> 

mise à jour Edit ...

J'ai vu cette technique sur un site web, je ne suis pas sûr que l'on, cette idée est pas à moi, mais vous pourrait le trouver utile.

Fournissez un formulaire avec un champ de défi et un champ de commentaire.Préfixez le défi avec "Choisissez le troisième mot de: glark snerm hork morf" de sorte que les mots, et celui à choisir, sont faciles à générer sur le serveur et facile à valider lorsque le contenu du formulaire revient.

Le but est de faire quelque chose , appliquer quelques cellules du cerveau, et plus de travail que cela vaut la peine pour un script kiddie.

+0

jQuery n'est pas la solution pour tout. Les contrôles comme celui-ci devraient être faits côté serveur pour une sécurité réelle. JavaScript peut être désactivé dans n'importe quel navigateur, spécialement dans les robots collecteurs de mails, ce qui ne serait pas très utile. – Seb

+0

Je ne suis pas surpris que cela ait été rejeté, et je comprends que JQuery n'est pas toujours la réponse, mais cela a fonctionné facilement pour moi à cause de mes pages Web déjà chargées dans le navigateur pour d'autres utilisations. J'ai une autre réponse qui pourrait être meilleure ... – Joel

Questions connexes