Accueil > > > FILTRE À GROS MOTS POUR LIVRE D'OR
FILTRE À GROS MOTS POUR LIVRE D'OR
Information sur la source
Description
J'ai 54 ans et c'est mon premier post, j'en tremble encore... C'est une fonction toute bête qui filtre les gros mots, à placer jute avant l'insert dans la page d'insertion d'un message d'un livre d'or ou d'un forum. Évidemment, là où l'anti-spam de Google se casse les dents, cette fonction se les casse aussi. Si le mot est dans la liste, le message sera interdit, mais s'il ne l'est pas ou orthographié différemment, il passera. Un ami à moi ne voulait pas entendre parler de son divorce sur son forum perso et tous les messages contenant ce mot ont été effectivement interdits, mais il a fallu qu'il rajoute séparation et le nom de son ex... Cependant en ce qui concerne les messages laissés sur les livres d'or et les forums par les robots spammeurs, c'est efficace à 100%
Source
- <?php
- function anti_grosmots($texte,$fichier,$rep) {
- //on mets en minuscules et on enlève les accents
- $texte = strtolower(OterAccents($texte));
- //on élimine d'office http (robots spammeurs) et les caractères éventuels laissés par htmlentities
- if(preg_match("/http/i", $texte || preg_match("/<b>/i", $texte))
- {
- header("Location:$rep");
- exit;
- }
- $liste = file_get_contents($fichier);
- $tab = explode("\r\n", $liste);
- foreach($tab as $mot)
- {
- if (preg_match("/^$mot$/i",$texte))
- {
- header("Location:$rep");
- exit;
- }
- }
- }
- ?>
<?php
function anti_grosmots($texte,$fichier,$rep) {
//on mets en minuscules et on enlève les accents
$texte = strtolower(OterAccents($texte));
//on élimine d'office http (robots spammeurs) et les caractères éventuels laissés par htmlentities
if(preg_match("/http/i", $texte || preg_match("/<b>/i", $texte))
{
header("Location:$rep");
exit;
}
$liste = file_get_contents($fichier);
$tab = explode("\r\n", $liste);
foreach($tab as $mot)
{
if (preg_match("/^$mot$/i",$texte))
{
header("Location:$rep");
exit;
}
}
}
?>
Conclusion
Quand les mises à jour seront finies, j'ajouterai le fichier d'insert, pour ceux qui ne savent pas (si, si, il y en a).
Historique
- 03 décembre 2007 12:06:16 :
- tentative d'améliorer la lisibilité du code (colorisation)
- 03 décembre 2007 12:07:05 :
- Re
- 03 décembre 2007 12:08:03 :
- Ben, pas trouvé comment...
- 03 décembre 2007 12:11:13 :
- encore un essai
- 03 décembre 2007 12:44:26 :
- j'avais oublié un mysql_query
- 03 décembre 2007 14:18:25 :
- corrections momentanées en attendant mieux
- 03 décembre 2007 14:19:22 :
- corrections momentanées en attendant mieux
- 03 décembre 2007 18:02:43 :
- mise à jour en suivant les conseils des gentils
- 03 décembre 2007 22:15:24 :
- rectification du code avec les derniers conseils
- 04 décembre 2007 11:10:32 :
- corrigé Location
- 04 décembre 2007 11:56:57 :
- correction dans explode, \n, comme on me l'avait conseillé, est incomplet (hexadécimal!!!)
- 04 décembre 2007 13:03:55 :
- enfin, introduction correcte du strpos, j'y ai brulé 5000 neurones, gagné 124 cheveux blancs, mais aussi une belle satisfaction, merci à tous
- 04 décembre 2007 13:48:52 :
- j'ai honte
- 05 décembre 2007 09:00:04 :
- ajout de preg_match pour la chaîne "http" et éviter ainsi les messages publicitaires avec liens
- 06 décembre 2007 10:04:07 :
- meilleur placement du preg_match
- 06 décembre 2007 10:54:54 :
- pour raccourcir la liste des gros mots qui ne sera ainsi qu'en minuscules et sans accent, on met le texte en minuscules et sans accents en utilisant le code fort utile donné par Arnotic
- 06 décembre 2007 12:40:26 :
- petits allègement. On appelle donc la fonction créée par Arnotic
- 07 décembre 2007 01:56:51 :
- strpos ne convient pas puisqu'il prend aussi une partie du mot, j'ai pensé que preg_match serait mieux, mais ça ne marche pas non plus...
- 07 décembre 2007 02:10:50 :
- corrigé, mais en dehors du manuel php, ça fonctionne, mais j'ai fait comme avec ereg...
- 07 décembre 2007 11:31:16 :
- rajout dans preg_match de balises js traduites en html provenant des attaques éventuelles faites par des petits plaisantins, attaques annulées par htmlentities, mais qui polluent quand même les messages.
- 08 décembre 2007 19:13:01 :
- complément de commentaire
Sources du même auteur
Sources de la même categorie
RÉCUPÉRER LES MINIATURES D'UNE VIDÉO YOUTUBERÉCUPÉRER LES MINIATURES D'UNE VIDÉO YOUTUBE Le code est simple, il permet depuis une url youtube de récupérer son identifiant et de se connecter au serveur de miniatures pour en récupérer les im...
par tefa24600
CONVERTISSEUR DE NOMBRES EN TEXTECONVERTISSEUR DE NOMBRES EN TEXTEQu'est-ce ? Un convertisseur de nombre en texte.
Ses particularités?
- pas de limitation sur la taille du nombre (traitement en string, et non en ...
par macruz
CODAGE TEXTE >HTML, ISO, SPECIALCHARS, URL ET DECODAGECODAGE TEXTE >HTML, ISO, SPECIALCHARS, URL ET DECODAGECe script php permet, comme son nom l'indique de coder un texte pour remplacer les caractères spéciaux, ou apprendre à comprendre les htmlentities, sp...
par Salva9473
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
PHP Mysql : la chaine la 'plus proche' d'une sous chaine. [ par irkiouak ]
Bonjour chers developpeurs,J'ai crée une formulaire de recherche d'un sujet (sur la table sujet) avec un champ texte critere.Ce que je
Couper une chaine tous les X mots [ par 3xodius55 ]
Bonjour (ou re-bonjour pour quelques uns^^),Est-ce que vous sauriez par hasard comment je pourrai couper une chaine tous les X mots.La chaîne en quest
Extraire les mots d'une chaine [ par footalex12 ]
Bonjour,Je souhaite extraire chaque mots d'une phrase ( j'ai des centaines de phrases à extraire )J'ai reussi une petite bidouille "pourrie" mais le
éliminercees mots d'une chaine et insere dans la base [ par hadjiphp ]
Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie. Bonjour, j'ai une question : j'ai une chaine de caract
Trier une table [ par LaurentKOogar ]
Bonjour,Bonjour,Je re,Voila, c'est un algo de tri mais ca ne tri rien du toutle champ id_cat : INTle champ description : VARCHAR 
Analyser la page pour créer un filtre [ par tony4758 ]
Bonjour, je souhaiterai faire un code permettant d'analyser tous les mots de la page et dès qu'il trouve un mot comme "sexe" il affiche un texte
MOTEUR DE RECHERCHE [ par loupile ]
bonjour, j'ai fais un moteur de recherche, oui mais voila il ne fonctionne que sur une chaine ... normale je recupère la valeur de mon champ de reche
fonction php + supprimer des mots dans une chaine [ par hadjiphp ]
Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie. Bonjour, j'ai une question : je cherche une fonction
récupérer des mots d'une chaine + insérer dans une base de données [ par hadjiphp ]
Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie. Bonjour, j'ai une question : j'ai une chaine de carac
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
CHAMPS TIMECHAMPS TIME par vargas
Cliquez pour lire la suite par vargas
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|