Question

Nous sommes nombreux à devoir gérer les saisies utilisateur, les requêtes de recherche et les situations dans lesquelles le texte saisi peut potentiellement contenir des injures ou un langage indésirable. Souvent, cela doit être filtré.

Où peut-on trouver une bonne liste de jurons dans diverses langues et dialectes?

Existe-t-il des API disponibles pour les sources contenant de bonnes listes? Ou peut-être une API qui dit simplement: "oui, c'est propre". ou "non, c'est sale" avec quelques paramètres?

Quelles sont les bonnes méthodes pour attraper les personnes qui tentent de tromper le système, comme un $$, un azz ou un a55?

Bonus si vous proposez des solutions pour PHP. :)

Éditer: réponse aux réponses disant simplement d'éviter le problème de programmation:

Je pense que ce type de filtre a sa place lorsque, par exemple, un utilisateur peut utiliser la recherche d'images publique pour rechercher des images ajoutées à un pool de communauté sensible. S'ils peuvent rechercher "pénis", ils obtiendront probablement de nombreuses photos de, ouais. Si nous ne voulons pas d'images de cela, alors empêcher le mot comme terme de recherche est un bon gardien, bien que ce ne soit pas une méthode infaillible. Obtenir la liste des mots en premier lieu est la vraie question.

Je parle donc vraiment d'un moyen de déterminer si un seul jeton est sale ou non, puis de tout simplement le rejeter. Je ne prendrais pas la peine d'empêcher un sentiment comme celui de la "girafe à long cou", totalement hilarant. référence. Tu ne peux rien y faire. :)

Était-ce utile?

La solution

Filtres d'obscénité: mauvaise idée, ou Incroyablement une mauvaise idée interculturelle?

En outre, il ne faut pas oublier L'histoire inédite du SpeedChat de Toontown , où même en utilisant une" liste blanche de mots protégés ". un jeune de 14 ans le contournant rapidement avec: "Je souhaite coller ma girafe au long cou sur votre lapin blanc et moelleux."

Résultat final: pour tout système que vous implémentez, rien ne peut remplacer l’évaluation humaine (que ce soit par des pairs ou autrement). N'hésitez pas à implémenter un outil rudimentaire pour vous débarrasser des drive-by, mais pour le troll déterminé, vous devez absolument avoir une approche non basée sur des algorithmes.

Un système qui supprime l'anonymat et introduit la responsabilité (quelque chose que Stack Overflow fait bien) est également utile, en particulier pour aider à combattre CADEAU de John Gabriel

Vous avez également demandé où trouver des listes de profanités pour commencer - un des projets open source à vérifier est Dansguardian - vérifiez le code source pour leurs listes de profanités par défaut. Il existe également une liste de phrases tierces supplémentaire que vous pouvez télécharger pour le proxy et qui peut s'avérer utile. pointez pour vous.

Modifiez en réponse la question à modifier: Merci pour la clarification apportée à ce que vous essayez de faire. Dans ce cas, si vous essayez simplement de filtrer les mots, vous pouvez le faire de deux manières. L'une consiste à créer une seule longue expression rationnelle avec toutes les phrases interdites que vous souhaitez censurer et à effectuer simplement une expression rationnelle à rechercher / remplacer avec celle-ci. Une regex comme:

$filterRegex = "(boogers|snot|poop|shucks|argh)"

et exécutez-le sur votre chaîne d'entrée en utilisant preg_match () pour effectuer un test complet pour obtenir un hit,

ou preg_replace () pour les effacer.

Vous pouvez également charger ces fonctions avec des tableaux plutôt que de longues expressions rationnelles. Pour les longues listes de mots, cela peut être plus facile à gérer. Consultez la preg_replace () pour obtenir de bons exemples d'utilisation flexible des tableaux.

Pour des exemples supplémentaires de programmation PHP, consultez cette page pour une classe générique assez avancée pour filtrer les mots qui * sortent les lettres centrales des mots censurés, et cette question précédente de Stack Overflow cela a aussi un exemple PHP (le principal élément précieux est l’approche des mots filtrés basée sur SQL - le compensateur leet-speak peut être supprimé si vous le trouvez inutile).

Vous avez également ajouté: " La première question est la liste des mots." " - Outre certains des liens précédents dansgaurdian, vous pouvez trouver ceci pratique .zip de 458 mots pour vous aider.

Autres conseils

Bien que je sache que cette question est assez ancienne, mais que c’est une question qui se pose couramment ...

Il existe à la fois une raison et un besoin distinct de filtres de blasphème (voir une entrée Wikipedia ici ), mais ils tombent souvent à court d'être précis à 100% pour des raisons très distinctes; Contexte et précision .

Cela dépend (entièrement) de ce que vous essayez d'accomplir. En gros, vous essayez probablement de couvrir le " sept mots sales " et puis certains ... Certaines entreprises doivent filtrer les plus basiques profanations: mots de base jurés, URL ou même des informations personnelles, etc., mais d'autres doivent empêcher la dénomination illicite de comptes (Xbox Live en est un exemple) ou bien plus encore. .

Le contenu généré par l'utilisateur ne contient pas que des jurons potentiels, il peut également contenir des références offensantes à:

  • Actes sexuels
  • Orientation sexuelle
  • Religion
  • appartenance ethnique
  • Etc ...

Et potentiellement, dans plusieurs langues. Shutterstock a développé des listes de mots vulgaires de base en 10 langues pour date, mais il reste basique et très orienté vers leurs besoins de «marquage». Plusieurs autres listes sont disponibles sur le Web.

Je suis d'accord avec la réponse acceptée selon laquelle il ne s'agit pas d'une science définie et que comme le langage est un défi en perpétuelle évolution , mais qu'un taux de capture supérieur à 0% est de 90%. . Cela dépend uniquement de vos objectifs - de ce que vous essayez d’atteindre, du niveau de soutien dont vous disposez et de l’importance de supprimer les profanations de types différents.

Lors de la création d'un filtre, vous devez prendre en compte les éléments suivants et leur relation avec votre projet:

  • Mots / phrases
  • Acronymes (FOAD / LMFAO, etc.)
  • Faux positifs (mots, lieux et noms tels que "mishit", "scunthorpe" et "titsworth")
  • URL (les sites pornographiques sont une cible évidente)
  • Informations personnelles (e-mail, adresse, téléphone, etc. - le cas échéant)
  • Choix de la langue (généralement l'anglais par défaut)
  • Modération (comment, le cas échéant, vous pouvez interagir avec le contenu généré par l'utilisateur et ce que vous pouvez en faire)

Vous pouvez facilement créer un filtre à profanes qui capture 90% + des profanations, mais vous n’atteindrez jamais 100%. C'est juste pas possible. Plus vous voulez vous rapprocher à 100%, plus cela devient difficile ... Après avoir construit un moteur complexe de blasphèmes qui traitait plus de 500 000 messages en temps réel par jour, je vous conseille de suivre le conseil suivant:

Un filtre de base impliquerait:

  • Création d'une liste de profanations applicables
  • Mise au point d'une méthode de traitement des dérivations de profanités

Un déposant moyennement complexe impliquerait (en plus d'un filtre de base):

  • Utilisation de la correspondance de modèle complexe pour traiter des dérivations étendues (à l'aide de regex avancé)
  • Traiter avec Leetspeak (l33t)
  • Traitement des faux positifs

Un filtre complexe impliquerait un certain nombre des éléments suivants (en plus d’un filtre modéré):

Je ne connais aucune bonne bibliothèque pour cela, mais quoi que vous fassiez, assurez-vous de vous tromper en laissant passer des choses. J'ai eu affaire à des systèmes qui ne me permettaient pas d'utiliser " mpassell " en tant que nom d'utilisateur, car il contient " ass " comme une sous-chaîne. C'est un excellent moyen d'aliéner les utilisateurs!

Au cours de mon entretien d'embauche, le CTO de la société qui m'interviewait a essayé un jeu de mots / Web que j'avais écrit en Java. Sur une liste de mots de l’ensemble du dictionnaire anglais Oxford, quel est le premier mot à deviner?

Bien sûr, le mot le plus répugnant de la langue anglaise.

J'ai quand même eu l'offre d'emploi, mais j'ai ensuite trouvé une liste de mots vulgaires (et non pas contrairement à celui-ci ) et a écrit un script rapide pour générer un nouveau dictionnaire sans tous les mauvais mots (sans même avoir à regarder la liste).

En ce qui concerne votre cas particulier, je pense que comparer la recherche à des mots réels semble être la solution idéale avec une liste de mots comme celle-ci. Les styles alternatifs / ponctuation nécessitent un peu plus de travail, mais je doute que les utilisateurs l'utiliseront assez souvent pour poser problème.

un système de filtrage des grossièretés ne sera jamais parfait, même si le programmeur est sûr de lui et se tient au courant de tous les développements nus

Cela étant dit, toute liste de "vilains mots" est aussi performante que toute autre liste, car le problème sous-jacent est la compréhension des langues , qui est assez difficile à maîtriser avec la technologie actuelle

Donc, la seule solution pratique est double:

  1. soyez prêt à mettre à jour votre dictionnaire fréquemment
  2. engager un éditeur humain pour corriger les faux positifs (par exemple "classique" au lieu de "classique") et les faux négatifs (oups! un raté!)

Le seul moyen d'empêcher les saisies abusives de l'utilisateur est d'empêcher toute saisie de la part de l'utilisateur.

Si vous souhaitez autoriser la saisie de l'utilisateur et que vous avez besoin de modération, incorporez des modérateurs humains.

En ce qui concerne votre " tromper le système " sous-question, vous pouvez gérer cela en normalisant le "mot incorrect". liste et le texte saisi par l'utilisateur avant de faire votre recherche. Par exemple, utilisez une série de expressions rationnelles (ou tr si PHP l'a) pour convertir [z $ 5] en "s", [4 @] à "a", etc., puis comparez le "mauvais mot" normalisé " liste par rapport au texte normalisé. Notez que la normalisation pourrait potentiellement conduire à des faux positifs supplémentaires, bien que je ne puisse pas penser à un cas réel pour le moment.

Le plus grand défi consiste à proposer quelque chose qui permette aux gens de citer "Le stylo est plus puissant que l'épée". en bloquant "p e n i s".

Méfiez-vous des problèmes de localisation: ce qui est un gros mot dans une langue peut être un mot parfaitement normal dans une autre.

Voici un exemple courant: ebay utilise une approche de dictionnaire pour filtrer les "mots incorrects". de la rétroaction. Si vous essayez de saisir la traduction allemande de "Cette transaction a été parfaite" ("das war eine perfekte Transaktion"), eBay rejettera les commentaires en raison de mauvaises paroles.

Pourquoi? Parce que le mot allemand pour "était" est " guerre " ;, et " guerre " est dans le dictionnaire eBay de "mauvais mots".

Alors méfiez-vous des problèmes de localisation.

Si vous pouvez faire quelque chose comme Digg / Stackoverflow où les utilisateurs peuvent voter / marquer du contenu obscène ... faites-le.

Ensuite, il vous suffit de passer en revue les "" vilaines". les utilisateurs et les bloquer s'ils enfreignent les règles.

Je suis un peu en retard à la fête, mais j'ai une solution qui pourrait fonctionner pour ceux qui lisent ceci. C'est en javascript au lieu de php, mais il y a une raison valable à cela.

  

Divulgation complète, j’ai écrit ce plugin ...

Quoi qu'il en soit.

L’approche que j’ai choisie est de permettre à un utilisateur de choisir "Opt-In". à leur filtrage profane. En gros, les blasphèmes seront autorisés par défaut, mais si mes utilisateurs ne veulent pas le lire, ils ne le seront pas. Cela aide également avec le "l33t sp3 @ k" problème.

Le concept est un simple . est injecté par le serveur si le compte du client active le filtrage des grossièretés. À partir de là, ce ne sont que quelques lignes simples qui effacent les jurons.

Voici la page de démonstration
https://chaseflorell.github.io/jQuery.ProfanityFilter/demo/

<div id="foo">
    ass will fail but password will not
</div>

<script>
    // code:
    $('#foo').profanityFilter({
        customSwears: ['ass']
    });
</script>

résultat

  

*** échouera mais le mot de passe ne sera pas

Ne pas. Cela ne fait que créer des problèmes. Une expérience personnelle classique avec les filtres blasphoniques est le moment où j'ai été exclu / banni d'un canal IRC pour avoir mentionné que je me dirigeais sur le pont de Hancock pendant quelques heures. ou quelque chose à cet effet.

Je suis d’accord avec le post de HanClinto plus haut dans cette discussion. J'utilise généralement des expressions régulières pour faire correspondre un texte d'entrée. Et il s’agit là d’un effort vain, car, comme vous l’avez indiqué au départ, vous devez explicitement rendre compte de chaque astuce d’écriture populaire sur le net dans votre "blocage". liste.

Par ailleurs, alors que d’autres débattent de l’éthique de la censure, je suis d’accord pour dire qu’une forme est nécessaire sur le Web. Certaines personnes aiment simplement publier des propos vulgaires parce que cela peut être immédiatement offensant pour un grand nombre de personnes et ne nécessite aucune réflexion de la part de l'auteur.

Merci pour les idées.

Règles HanClinto!

Une fois que vous avez une bonne table MYSQL de mauvais mots que vous souhaitez filtrer (j'ai commencé avec l'un des liens de ce fil), vous pouvez faire quelque chose comme ceci:

$errors = array();  //Initialize error array (I use this with all my PHP form validations)

$SCREENNAME = mysql_real_escape_string(

Une fois que vous avez une bonne table MYSQL de mauvais mots que vous souhaitez filtrer (j'ai commencé avec l'un des liens de ce fil), vous pouvez faire quelque chose comme ceci:

<*>

Je suis sûr qu'il existe un moyen plus efficace de procéder à tous ces remplacements, mais je ne suis pas assez intelligent pour le savoir (et cela semble fonctionner correctement, bien que de manière inefficace).

Je pense que vous devriez autoriser les utilisateurs à s’enregistrer et utiliser des humains pour filtrer et ajouter des éléments à votre tableau des jurons, selon les besoins. Bien que tout dépend du coût d'un faux positif (mot correct marqué comme mauvais) par rapport à un faux négatif (mauvais mot obtenu). Cela devrait en fin de compte régir le degré d'agressivité ou de prudence de votre stratégie de filtrage.

Je serais également très prudent si vous souhaitez utiliser des caractères génériques, car ils peuvent parfois se comporter de manière plus onéreuse que vous ne le souhaitez.

POST['SCREENNAME']); //Escape the input data to prevent SQL injection when you query the profanity table. $ProfanityCheckString = strtoupper($SCREENNAME); //Make the input string uppercase (so that 'BaDwOrD' is the same as 'BADWORD'). All your values in the profanity table will need to be UPPERCASE for this to work. $ProfanityCheckString = preg_replace('/[_-]/','',$ProfanityCheckString); //I allow alphanumeric, underscores, and dashes...nothing else (I control this with PHP form validation). Pull out non-alphanumeric characters so 'B-A-D-W-O-R-D' shows up as 'BADWORD'. $ProfanityCheckString = preg_replace('/1/','I',$ProfanityCheckString); //Replace common numeric representations of letters so '84DW0RD' shows up as 'BADWORD'. $ProfanityCheckString = preg_replace('/3/','E',$ProfanityCheckString); $ProfanityCheckString = preg_replace('/4/','A',$ProfanityCheckString); $ProfanityCheckString = preg_replace('/5/','S',$ProfanityCheckString); $ProfanityCheckString = preg_replace('/6/','G',$ProfanityCheckString); $ProfanityCheckString = preg_replace('/7/','T',$ProfanityCheckString); $ProfanityCheckString = preg_replace('/8/','B',$ProfanityCheckString); $ProfanityCheckString = preg_replace('/0/','O',$ProfanityCheckString); //Replace ZERO's with O's (Capital letter o's). $ProfanityCheckString = preg_replace('/Z/','S',$ProfanityCheckString); //Replace Z's with S's, another common substitution. Make sure you replace Z's with S's in your profanity database for this to work properly. Same with all the numbers too--having S3X7 in your database won't work, since this code would render that string as 'SEXY'. The profanity table should have the "rendered" version of the bad words. $CheckProfanity = mysql_query("SELECT * FROM DATABASE.TABLE p WHERE p.WORD = '".$ProfanityCheckString."'"); if(mysql_num_rows($CheckProfanity) > 0) {$errors[] = 'Please select another Screen Name.';} //Check your profanity table for the scrubbed input. You could get real crazy using LIKE and wildcards, but I only want a simple profanity filter. if (count($errors) > 0) {foreach($errors as $error) {$errorString .= "<span class='PHPError'>$error</span><br /><br />";} echo $errorString;} //Echo any PHP errors that come out of the validation, including any profanity flagging. //You can also use these lines to troubleshoot. //echo $ProfanityCheckString; //echo "<br />"; //echo mysql_error(); //echo "<br />";

Je suis sûr qu'il existe un moyen plus efficace de procéder à tous ces remplacements, mais je ne suis pas assez intelligent pour le savoir (et cela semble fonctionner correctement, bien que de manière inefficace).

Je pense que vous devriez autoriser les utilisateurs à s’enregistrer et utiliser des humains pour filtrer et ajouter des éléments à votre tableau des jurons, selon les besoins. Bien que tout dépend du coût d'un faux positif (mot correct marqué comme mauvais) par rapport à un faux négatif (mauvais mot obtenu). Cela devrait en fin de compte régir le degré d'agressivité ou de prudence de votre stratégie de filtrage.

Je serais également très prudent si vous souhaitez utiliser des caractères génériques, car ils peuvent parfois se comporter de manière plus onéreuse que vous ne le souhaitez.

J'ai recueilli 2200 mots douteux dans 12 langues: en, ar, cs, da, de, eo, es, fa, fi, fr, salut, hu, il, ja, ko, nl, non, pl, pt, ru, sv, th, tlh, tr, zh.

Des options de vidage MySQL, JSON, XML ou CSV sont disponibles.

https://github.com/turalus/openDB

Je vous conseillerais d'exécuter ce code SQL dans votre base de données et de vérifier chaque fois que l'utilisateur saisit quelque chose.

Franchement, je les laisserais avoir le "truc du système" mots et bannissez-les à la place, ce qui est juste moi. Mais cela simplifie également la programmation.

Ce que je ferais, c’est d’implémenter un filtre regex comme ceci: / [\ s] dooby (doo?) [\ s] / i ou si le mot est préfixé sur d’autres, / [\ s] doob (er | ed | est) [\ s] / . Celles-ci empêcheraient le filtrage de mots comme assuaged, ce qui est parfaitement valable, mais nécessiterait également la connaissance des autres variantes et la mise à jour du filtre même si vous en apprenez un nouveau. Évidemment, ce sont tous des exemples, mais vous devrez décider comment le faire vous-même.

Je ne vais pas taper tous les mots que je connais, pas quand je ne veux pas vraiment les connaître.

Je suis d'accord avec la futilité du sujet, mais si vous devez disposer d'un filtre, vérifiez de Boxing :

  

Boxwood est une extension PHP permettant le remplacement rapide de plusieurs mots dans un morceau de texte. Il prend en charge la correspondance sensible à la casse et insensible à la casse. Il nécessite que le texte sur lequel il opère soit codé au format UTF-8.

Voir également ce blog pour plus de détails:

  

Avec Boxwood, votre liste de termes de recherche peut être aussi longue que vous le souhaitez - l'algorithme de recherche et remplacement ne devient pas plus lent, avec davantage de mots sur la liste de mots à rechercher. Cela fonctionne en construisant un tri de tous les termes de recherche, puis en analysant votre texte sujet une seule fois, en décrivant des éléments du tri et en les comparant aux caractères de votre texte. Il prend en charge l'US-ASCII et UTF-8, la correspondance sensible à la casse ou insensible, et possède une logique de vérification de limites de mots centrée sur l'anglais.

J'ai conclu, afin de créer un bon filtre de grossièretés, nous avons besoin de 3 composants principaux, ou du moins c'est ce que je vais faire. Ce sont:

  1. Le filtre: un service en arrière-plan qui vérifie une liste noire, un dictionnaire ou quelque chose du genre.
  2. Ne pas autoriser les comptes anonymes
  3. Signaler un abus

Un bonus, ce sera pour récompenser en quelque sorte ceux qui contribuent avec des reporters d'abus précis et pour punir le contrevenant, par exemple. suspendre leurs comptes.

Aussi en retard dans le jeu, mais faisant quelques recherches et est tombé par ici. Comme d'autres l'ont mentionné, c'est presque presque impossible si c'était automatisé, mais si votre conception / exigence peut impliquer dans certains cas (mais pas tout le temps) des interactions humaines pour déterminer si c'est profane ou non, vous pouvez envisager ML. https: // docs. microsoft.com/en-us/azure/cognitive-services/content-moderator/text-moderation-api#profanity est mon choix actuel en ce moment pour plusieurs raisons:

  • Prise en charge de nombreuses localisations
  • Ils continuent à mettre à jour la base de données afin que je ne sois pas tenu au courant des dernières argots ou langues (problème de maintenance)
  • Lorsque la probabilité est élevée (90% ou plus), vous pouvez simplement le nier de façon pragmatique
  • Vous pouvez observer pour la catégorie qui cause un drapeau qui peut être ou ne pas être un blasphème et peut demander à quelqu'un de le vérifier pour vous dire qu'il est ou non profane.

Pour mon besoin, il était / est basé sur un service commercial accessible au public (OK, jeux vidéo) dont les autres utilisateurs peuvent / verront le nom d'utilisateur, mais la conception exige qu'il soit soumis à un filtre grossier pour rejeter un nom d'utilisateur offensant. La partie triste à ce sujet est le classique " clbuttic & problème est susceptible de se produire car les noms d'utilisateur sont généralement un seul mot (jusqu'à N caractères) parfois concaténé de plusieurs mots ... Encore une fois, le service cognitif de Microsoft n'indiquera pas "Assist". comme Text.HasProfanity = true, mais peut indiquer l’une des probabilités de catégorie élevée.

À la demande du PO, qu’en est-il de "a $$", voici le résultat de son filtrage: entrer la description de l'image ici , comme vous pouvez le voir, cela a déterminé ce n'est pas profane, mais il y a de fortes chances pour que ce le soit, signalez-le comme recommandation de révision (interactions humaines).

Lorsque la probabilité est élevée, je peux soit revenir en arrière ", je suis désolé, ce nom est déjà pris". (même si ce n’est pas le cas), de manière à ce que cela soit moins offensant pour les personnes anti-censure ou quelque chose du genre, si nous ne voulons pas intégrer la révision humaine, ni renvoyer "Votre nom d'utilisateur a été notifié au service des opérations en direct, vous pouvez attendez que votre nom d'utilisateur soit revu et approuvé ou choisissez un autre nom d'utilisateur " ;. Ou peu importe ...

Soit dit en passant, le coût / prix de ce service est assez faible pour moi (combien de fois le nom d'utilisateur est-il changé?), mais encore une fois, pour OP, la conception nécessite peut-être des requêtes plus intensives et n'est peut-être pas idéale pour payer / abonnez-vous à des services de ML, ou ne pouvez pas avoir d'interactions / examens humains. Tout dépend de la conception ... Mais si la conception convient, c'est peut-être la solution de l'OP.

Si vous êtes intéressé, je peux énumérer les inconvénients dans le commentaire à l'avenir.

Ne pas.

Parce que:

  • Clbuttic
  • Le blasphème n'est pas OMG EVIL
  • Le blasphème ne peut pas être défini efficacement
  • La plupart des gens n'apprécient probablement pas d'être "protégés". de blasphème

Modifier: bien que je sois d’accord avec le commentateur qui a déclaré que "la censure est erronée", ce n’est pas la nature de cette réponse.

Les filtres à profanités sont une mauvaise idée. La raison est que vous ne pouvez pas saisir tous les gros mots. Si vous essayez, vous obtenez des faux positifs.

Catching Words

Disons simplement que vous voulez attraper le mot F. Facile, non? Eh bien voyons.

Vous pouvez parcourir une chaîne pour trouver le mot "fuck". Malheureusement, les gens filtrent les filtres de nos jours. Le filtre grossier n'a pas détecté "fuk."

On peut essayer de vérifier plusieurs orthographes et variantes du mot, mais cela ralentira les performances de votre code. Pour attraper le mot F, vous devez rechercher "fuc", "Fuc", "fuk", "Fuk", "F ***", etc. La liste s'allonge encore et encore .

Éviter l'innocence

D'accord, pourquoi ne pas le rendre sensible à la casse et ignorer les espaces pour qu'il capture "F u C k"? Cela peut sembler une bonne idée, mais quelqu'un peut simplement contourner le filtre grossier avec "F.U.C.K."

Vous ignorez la ponctuation.

Voilà un problème réel, car une phrase telle que " Enfer o, là!" reprendra comme "enfer", et "Wh ass up?" ramasse comme "ass."

Et il y a un tas de mots que vous devez exclure du filtre, tels que "Cons tit ution," parce qu'il y a " tit " en elle.

Les utilisateurs peuvent également utiliser des mots de substitution, tels que "Frack". Vous bloquez ça aussi? Qu'en est-il & stylo est " pour "pénis"? Votre programme ne dispose pas d’intelligence artificielle pour savoir si la chaîne est bonne ou mauvaise.

N'utilisez pas de filtres blasphériques. Ils sont difficiles à développer et ils sont aussi lents qu’un rampement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top