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

Langage PHP Discussion :

htmlspecialchars, addslashes, htmlentities et autres


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : développeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 479
    Points : 281
    Points
    281
    Par défaut htmlspecialchars, addslashes, htmlentities et autres
    Je n'arrive pas à savoir ce qu'il faut utiliser...

    J'ai un formulaire avec un Textarea.
    J'autorise la saisie de balise html de mise en forme (<br>, <font>, <center>,....)
    Il y a stockage en base de données.

    Mais lors de l'affichage de la donnée, les balises sont affichées telles quelles, sans être interprétées.

    Comment stocker la donnée en base ?
    Comment l'afficher ensuite ?

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 252
    Points : 358
    Points
    358
    Par défaut
    et tu utilise quoi des 3 fonctions que tu a cité ? sinon tu en utilise aucune, mais c'est pas sécurisé.

  3. #3
    Membre actif
    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : développeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 479
    Points : 281
    Points
    281
    Par défaut
    Je viens de voir que j'en utilisais une à un endroit mais pas à l'autre.

    Sinon, quelle est la bonne solution pour sécuriser ?

    htmlentities() avant insertion en base et pour l'affichage ?

  4. #4
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2004
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2004
    Messages : 352
    Points : 434
    Points
    434
    Par défaut
    htmlspecialchars ou htmlentities, comme tu veux, cela dépend si tu veux convertir les caractères accentués. La fonction html_entity_decode est l'opposé de htmlentities mais si t'emploies ça, va falloir parser ta chaîne pour empêcher d'éventuelles failles de sécurité :p

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Non...

    Pour enregistrer en base, il faut tout simplement utiliser la fonction de ton SGBD prévue à cet effet : mysql_real_escape_string, etc.
    Voici quelques exemples : http://php.developpez.com/faq/index....rite-injection

    Pour afficher dans une page Web, il faut utiliser htmlspecialchars pour les caractères spéciaux, ou htmlentities si tu as un charset ISO-quelque-chose.

    Bref, chaque fonction a son utilité propre et unique

    Voici un bout d'explication plus technique : http://g-rossolini.developpez.com/tu...concepts#LVI-G

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/01/2010, 17h35
  2. Réponses: 11
    Dernier message: 18/05/2007, 17h55
  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