2010-05-20 6 views
1

Ma question de base est de savoir comment éviter les spams et les gros mots dans un système de commentaire sous python (django).spam et mots sales commentaire post filtrage/prévention/blocage en python (django)

J'ai une collection de phrases (environ 3000 phrases) à bloquer.

Ce que je veux faire est comme ceci:

Si je trouve un commentaire qui a un gros mot lorsque l'utilisateur clique sur le bouton de poste, le Web devrait apparaitre un message d'avertissement et a demandé aux gens de rentrer dans/corriger les commentaires et le soumettre à nouveau. Ceci empêche simplement les gens de soumettre des commentaires impolis/spam. Question (1), y a-t-il un paquet/module/plugin open source python (ou django) qui peut gérer ce travail? Je savais qu'il y en avait un appelé Akismet. Mais d'après ce que j'ai compris, cela ne résoudra pas mon problème. Akismet est juste un service web et filtre le dictionnaire de mots défini par Akismet. Mais j'ai ma propre collection de mots. S'il vous plait corrigez moi si je me trompe.

Question (2), S'il n'y a pas un tel paquet open source je peux utiliser, comment créer le mien? La seule chose que je peux penser c'est d'utiliser l'expression régulière et de joindre toutes les expressions de mots avec 'ou' dans une expression régulière. mais j'ai 3000 phrases, je pense que ça ne marchera pas en terme de performance et filtrera chaque post de commentaire. des suggestions où devrais-je commencer?

Merci beaucoup pour votre aide et votre temps.

+0

Vous semblez connaître un _lot_ de ces phrases ... ;-)) –

Répondre

4

Vous voudrez peut-être vérifier le réglage PROFANITIES_LIST, on dirait que vous pouvez l'utiliser avec validators.

Bien que, avec autant de phrases (3000 vraiment - vous devez être amusant lors des fêtes) que vous voulez repenser les choses. Vous ne devriez pas filtrer le SPAM. Vous devriez le jeter. Juste mon avis. Si le commentaire contient du spam, pourquoi le garder? Y a-t-il une valeur ajoutée d'un tel commentaire?

+0

désolé que je n'ai pas exprimé clairement dans mon premier message. Je ne les sauve pas. Si je trouve qu'un commentaire a un mot sale lorsque l'utilisateur clique sur le bouton "Publier", alors le web devrait faire apparaître un message d'avertissement et demander aux gens de ré-entrer/corriger les commentaires et de le soumettre à nouveau. – SSS

+0

sont les 3000 mots et phrases principalement des profanités? Je suis maintenant curieusement morbide à l'idée d'élargir mon propre vocabulaire. – imjoevasquez

+0

^_^pas vraiment. (1) ces mots ne sont pas tous en anglais. certains sont. certains ne le sont pas. C'est pourquoi la collection est d'environ 3000. Tous les mots ne sont pas en anglais. (2) ces mots peuvent être des profanités, des spams publicitaires, de la pornographie, etc., encore une fois, certains sont en anglais. certains ne le sont pas. (3) en passant, je suis vraiment nouveau sur python et django. Est-ce que la méthode que vous avez mentionnée peut résoudre mon problème en terme de performance? merci beaucoup pour votre réponse et votre aide.^_^ – SSS