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 :

htmlentities ou htmlspecialchar inopérents [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut htmlentities ou htmlspecialchar inopérents
    Bonjour à tous

    Je veux tester "htmlentities" pour pouvoir protéger ma base de donnée de malveillant qui introduirait des balises dans mon formulaire.
    j'ai recopié quelques codes mais le résultat est apparemment que "htmlentities" comme "htmlspecialchars" sont inopérants

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?php
    header('content-type: text/html; charset=utf-8');
    
    if (isset($_POST['nom'])){
    
    //dans l'input j'ai inscrit la phrase suivante: Un \'apostrophe\' en <strong>gras</strong>
    
    		echo "nom = ".$_POST["nom"];echo'<br/>';//affichage : nom = Un \'apostrophe\' en gras
    
    		echo "nom_htmlentities = ".(htmlentities($_POST["nom"]));echo'<br/>';//affichage : nom_htmlentities = Un \'apostrophe\' en <strong>gras</strong>
    		 echo'<br/>';
    }
    		
    		$str ='Un \'apostrophe\' en <strong>gras</strong>';
    
    		echo "variable str = ". $str;echo'<br/>'; //affichage : variable str = Un 'apostrophe' en gras
    
    		echo "str_htmlentities ".(htmlentities($str,ENT_QUOTES,"UTF-8"));echo'<br/>';//affichage :str_htmlentities = Un 'apostrophe' en <strong>gras</strong>
    		
    		echo'<br/>';echo'<br/>';
    		
    
    ?>
    
    <form action='test_reg.php' method='post'>
    <input type ='text' size=10 style="width:300px;" name= "nom" >
    <input type='submit' value='valider'><br><br>

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 505
    Par défaut
    Bonjour,
    Ce n'est pas ce que la page affiche qui est important, mais bien ce qu'elle produit.
    Si vous affichez le code source de votre page, vous verrez que cela fonctionne correctement.

    Une partie du code source que vous générez.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    variable str = Un 'apostrophe' en <strong>gras</strong><br/>str_htmlentities Un 'apostrophe' en &lt;strong&gt;gras&lt;/strong&gt;<br/><br/><br/>

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    Merci de ta réponse

    J'ai bien vu dans ma base de données j'ai bien pour <DUFRESNE>= &lt;DUFRESNE&gt;

    Mais pourquoi lorsque je fait echo(htmlentities($_POST["nom"])); je ne vois pas exactement le contenu alors que l'enregistrement dans la base est bien modifié

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 505
    Par défaut
    Désolé, mais je comprend pas bien votre question ?

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    quand j'écris dans input , le nom est envoyé au serveur par la méthode POST
    sur le serveur je récupère la variable _POST['nom'].
    si dans le script il y un echo de cette variable , cet echo est bien envoyé vers l'utilisateur pour s'afficher sur la page et je vois bien l'écho s'afficher avec la valeur de la variable.
    Alors que l'écho d'une variable modifiée avec htmlentities n'affiche pas la valeur de la variable modifiée.

  6. #6
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 651
    Par défaut
    Citation Envoyé par marco62118 Voir le message
    Alors que l'écho d'une variable modifiée avec htmlentities n'affiche pas la valeur de la variable modifiée.
    d'après votre 1er message, la valeur saisie dans le formulaire est bien affichée.
    quel résultat souhaitez-vous avoir ? donnez nous un exemple.

  7. #7
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    je vous remercie pour vos réponses

    En fait le code source marque bien le htmlentities alors que l'affichage à l'écran interprète les entités html comme &lt; et les affiche à l'écran avec leur représentation <

    (si j'ai bien compris)

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

Discussions similaires

  1. Sécurité htmlentities et htmlspecialchars
    Par chicabonux dans le forum Langage
    Réponses: 6
    Dernier message: 01/05/2012, 21h09
  2. htmlspecialchars, addslashes, htmlentities et autres
    Par senacle dans le forum Langage
    Réponses: 4
    Dernier message: 16/06/2008, 21h25
  3. htmlentities et htmlspecialchars entités numériques
    Par Invité dans le forum Langage
    Réponses: 1
    Dernier message: 25/03/2007, 12h40
  4. [Smarty] Problème sous Smarty : htmlspecialchars ou htmlentities
    Par harlock59 dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 12/05/2006, 14h57
  5. Réponses: 7
    Dernier message: 24/09/2005, 13h30

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