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 :

Echappement de caractères


Sujet :

PHP & Base de données

  1. #1
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut Echappement de caractères
    Bonjour,

    Je récupère le nom d'utilisateur dans un base.
    Un jour j'ai récupéré ça: СлавÑн Бабуладзе-артамÑн

    Voila comment j'ai échappé mes caractères avant l'insertion:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    htmlentities(trim(strip_tags(mysql_real_escape_string($string))), ENT_QUOTES, 'UTF-8');
    Je ne vois pas comment ça a pu arriver, avez-vous une idée? J'ai tenté avec des prénoms grecs et je n'ai aucun soucis..

    Merci

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Ca ressemble à un problème d'encodage , mais difficile d'en dire plus.

    Sinon pour l'echappement mysql_real_escape_string(trim($string)); est suffisant.

    htmlentites devant se faire à l'affichage (on préfère stocker des données brutes dans une base , mais aussi pour éviter un injection de code qui ne serait pas passer par ta sécurité) et striptag n'est pas recommandé pour un identifiant (je peux vouloir avoir un identifiant comme <grunk> par exemple.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Bonjour et merci pour la réponse.
    Je pensais aussi que ça pouvait éventuellement venir du UT8. En fait je travaille sur un projet déjà commencé donc difficile d'expliquer tous les choix précédents...
    Du coup, existe-t-il un moyen passe partout, changer le UTF8 peut être?

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    aussi :
    y a type de connexion , exemple si vous utilisé PDO alors faut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    .....
    $options = array
    		(
    PDO::MYSQL_ATTR_INIT_COMMAND    => "SET NAMES utf8" ,  // indiquer à MySQL que echanger nos données en UTF8.
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION , 
    PDO::ATTR_PERSISTENT => true
    );
     $cbd = new PDO('mysql:host='.$PARAM_hote.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe , $options  );
    .........
    comment les données sont enregistrées dans ta BDD ?

  6. #6
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Merci grunk, je vais lire ça.
    Redoran, je ne sais pas du tout comment c'est fait, il s'agit d'une classe mais je ne tiens pas du tout à y toucher vu la quantité de requête sur lesquelles ça se répercute (et je n'aurais pas le temps de tout vérifier avec le temps qu'il me reste)..

Discussions similaires

  1. Echapper un caractére + Lancer un script VBS
    Par FinalSpirit dans le forum WinDev
    Réponses: 6
    Dernier message: 01/10/2007, 13h46
  2. Echapper un caractère
    Par Invité dans le forum Langage
    Réponses: 18
    Dernier message: 14/09/2007, 14h37
  3. Echappement de caractères
    Par Mengué georges dans le forum JDBC
    Réponses: 1
    Dernier message: 31/05/2007, 17h03
  4. QueryString Echappement du caractère &
    Par lapanne dans le forum ASP
    Réponses: 2
    Dernier message: 12/03/2007, 10h49
  5. [Conception] Echappement de caractères
    Par nicoaix dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 11/04/2006, 19h32

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