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 :

magic_quotes ?? on peut la désactiver ?


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 501
    Par défaut magic_quotes ?? on peut la désactiver ?
    Bonjour,

    J'ai remarqué que lorsque je récupére des données venant d'un formulaire, des antislashs s'ajoutent automatiquement, apparement ce serait parce que magic_quotes est activée non ?
    Est-ce possible de le désactiver à partir du script ?
    Parce que je prefere gérer manuellement les slashs avec addslashs et stripslashs... je m'y retrouve plus facilement.

    Merci
    Au revoir

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Tu vérifies si magic_quotes est activé (avec get_magic_quotes_gpc()), et si c'est le cas tu passes tes données par stripslashes().

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 2
    Par défaut
    Tu as deux maniere de t'y prendre.

    INSERTION EN CAS DE DEFAUT DES SLASHS
    Soit tu regardes si magic quotes est désactivé et tu insères des slashs ou sinon, tu ne fais rien.
    Et lorsque tu récuperes tes valeurs, dans tous les cas, tu fais un stripslash.

    Il y a encore la possibilité de vg33

  4. #4
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    itliasky jettes un oeil à cette page http://fr2.php.net/mysql_real_escape_string

    Notamment ce bout de code (mais ca ne te dispense pas de lire le reste)
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?php
    // Protège la variable
    function quote_smart($value)
    {
       // Stripslashes
       if (get_magic_quotes_gpc()) {
         $value = stripslashes($value);
       }
       // Protection si ce n'est pas un entier
       if (!is_numeric($value)) {
         $value = "'" . mysql_real_escape_string($value) . "'";
       }
       return $value;
    }
     
    // Connexion
    $link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    OR die(mysql_error());
     
    // Fabrication d'une requête sécurisée
    $query = sprintf("SELECT * FROM users WHERE user=%s AND password=%s",
    quote_smart($_POST['username']),
    quote_smart($_POST['password']));
     
    mysql_query($query);
    ?>
    bye

Discussions similaires

  1. Clavier virtuel: peut-on désactiver la touche Windows?
    Par Feymann dans le forum Windows XP
    Réponses: 7
    Dernier message: 24/08/2012, 10h01
  2. [Directives] Désactiver les magic_quotes
    Par taffMan dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 28/10/2006, 02h16
  3. Réponses: 5
    Dernier message: 26/09/2006, 08h20
  4. Réponses: 8
    Dernier message: 20/07/2006, 12h30

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