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 :

mysql_escape_string et antislash


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 125
    Points : 59
    Points
    59
    Par défaut mysql_escape_string et antislash
    bonjour,
    j'ai une page php qui contient un formulaire pour ajouter des données dans une table de ma base de données, et pour assurer la validité des données entrées je viens d'utiliser la fonction mysql_escape_string surtout pour échapper les apostrophes et garder la cohérence du requete sql. la fonction ca marche très bien en local, mais lorsque je transfère les fichiers dans mon site sur internet
    je vois que tous les apostrophes se précéder par des antislash, je sais que le problème se produit du fonction mysql_escape_string mais pourquoi pas en local ? et c'est quoi la solution s'il vous plait ?
    et merci d'avance pour vos réponses

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Parce que vos données (POST, ici), sur votre serveur distant, sont automatiquement échappées par PHP via la fonctionnalité magic_quotes_gpc (voir phpinfo), qui est active, alors que ce n'est pas le cas en local. Vous devriez donc la désactiver ou d'abord appliquer la fonction stripslashes à vos données dans ce cas de figure.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 125
    Points : 59
    Points
    59
    Par défaut
    merci pour votre réponse
    j'ai déjà penser a utiliser la fonction stripslashes lors de la sélection des données, mais ca va mieux si je viens d'appliquer ce que vous avez dit a propos du magic_quotes_gpc sauf que je ne sais pas comment la désactiver sur le serveur distant, veuillez m'expliquer comment svp

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Il vous faut éditer le fichier de configuration de PHP (php.ini) à condition de le pouvoir (exclus sur des hébergeurs de type mutualisé). Sinon ça dépend entièrement de votre configuration (type de serveur, mode d'exécution de PHP et ce que permet/interdit votre prestataire).

    Avec Apache, en module PHP, essayez éventuellement par .htaccess :
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    php_flag magic_quotes_gpc off

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 125
    Points : 59
    Points
    59
    Par défaut
    est ce qu'il n y a pas moyen de configurer mon site sur le serveur distant,
    je ne sais pas par exemple mettre mon fichier php.ini a la racine de mon site !!, si non comme vous avez dit tout dépend de l'hébergeur, donc comment je peux savoir si mon hébergeur m'offre cette possibilité ?

  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
    donc comment je peux savoir si mon hébergeur m'offre cette possibilité ?
    au hasard : consulter leur site ou leur demander
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    la fonction phpinfo() est à ton service

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 125
    Points : 59
    Points
    59
    Par défaut Solution
    la meilleur solution pour ce fameux problème d'apostrophe, c'est de vérifier les l'option 'magic_quotes_gpc', puisque s'il est activé on a pas besoin d'utiliser ausun fonction pour faire passer la requete, si non on doit remplacer les ' par '',
    voici une fonction qui retourne la donnée filtré et propre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function get_string($val)
    {
    if(ini_get('magic_quotes_gpc'))
    	return trim($val);
    else
    	return trim(str_replace("'","''",$val));
    }

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

Discussions similaires

  1. [MySQL] mysql_escape_string et antislash
    Par rochdi123 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/12/2009, 17h04
  2. [MySQL] probleme d'antislash avec ereg_replace
    Par photorelief dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/10/2005, 11h27
  3. Mémoire et antislash
    Par CCin dans le forum C
    Réponses: 12
    Dernier message: 08/10/2005, 12h03
  4. Réponses: 10
    Dernier message: 03/09/2004, 17h26
  5. [langage] Doubler les antislashs
    Par tshupaka dans le forum Langage
    Réponses: 3
    Dernier message: 24/07/2004, 15h09

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