IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Bannir certains termes dans une zone de texte [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Inactif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 101
    Points : 67
    Points
    67
    Par défaut Bannir certains termes dans une zone de texte
    Bonjour,

    Dans un formulaire basic avec un textarea je cherche une façon simple de bannir certains terme en bloquant la validation du formulaire avec un message mentionnant par ex : terme interdit, veuillez modifier votre texte.

    Les mots banni sont contenu dans un fichier text.dat

    Comment feriez vous ?

    merci pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    On ne peut pas bloquer un formulaire en PHP.
    Par contre faire une protection en javascript est illusoire : il suffirait de desactiver javascript pour pouvoir saisir ce que l'on veut.

    Tu peux par contre tu veux nettoyer le texte recu avec PHP par exemple.

    Mais bon cela reste très limité quelque soit la methode utilisé : si tu veux m'interdire le mot chien, je peux écrire c-h-i-e-n et cela passera.

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 101
    Points : 67
    Points
    67
    Par défaut
    Euu j'ai pas trop saisi ton conseil, bref mon probleme est résolu je viens de coder une petite fonction qui test si le mots est dans un fichier sinon il laisse passer.

    Je mets la fonction pour les autres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function BlockWords($string)
      { 
    	 global $path_escape, $badword_replacement, $datafile;
     
    	$w = array();
    	$fp = fopen("{$path_escape}{$datafile[badwords]}", "r");
    	while($s=fgets($fp, 1024)) { if($s=trim($s)) $w[] = $s; }
    	fclose($fp);
     
    	$wordlist = implode("|", $w);
     
        foreach ($w as $badword)
          if (preg_match("/".$badword."/i", $string))
        return TRUE;
      }
    merci

    Finalement se n'est pas tout à fait résolu, et oui faut bien que ça coince un moment ou un autre sinon ce n'est pas marrant .

    En faite j'aimerais perfectionner en affichant le terme qui est interdit dans mon message d'erreur, en gros que la fonction aille chercher le mots en question dans le fichier pour faire un echo de celui ci.

    Ex: le terme " mots ds le fichier " est interdit

    La je patauge

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Met ton echo dans ton if.

  5. #5
    Inactif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 101
    Points : 67
    Points
    67
    Par défaut
    Oui ça je savais mais c'est plutôt comment récupérer le mots en question dans le fichier pour ensuite faire un echo ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ton mot interdit c'est $badword non ?

    je viens de coder une petite fonction
    tu es sur de ça ?

  7. #7
    Inactif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 101
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Ton mot interdit c'est $badword non ?


    tu es sur de ça ?
    Ok j'avais pas saisie.

    Oui j'en suis sur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mettre du gras dans une zone de texte
    Par gontrand16 dans le forum IHM
    Réponses: 6
    Dernier message: 11/12/2012, 12h38
  2. Multi Format dans une zone de texte ou active x
    Par nowick dans le forum Access
    Réponses: 5
    Dernier message: 22/10/2005, 20h23
  3. incrementation d'un format texte dans une zone de texte
    Par frederic.go dans le forum Access
    Réponses: 6
    Dernier message: 18/10/2005, 14h47
  4. Code de séléctionnement dans une zone de texte
    Par ghyosmik dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 11/10/2005, 13h46
  5. Exclusion de caractere dans une zone de texte
    Par martsigo dans le forum Access
    Réponses: 7
    Dernier message: 23/08/2005, 20h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo