Addslashes et appostrophes

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par sff, 14 Mai 2009.

  1. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    533
    J'aime reçus:
    0
    Bonjour,

    J'aimerais savoir si la seule solution pour enregistrer correctement des textes avec apostrophes dans la bdd est l'utilisation des addslashes.

    Exemple:

    Code:
    $texte : "appostrophe ' ici";
    
    $mysql->query("INSERT INTO ".$mysql->pref."_table VALUES('', '".addslashes($texte)."')");
    Merci
     
  2. RiPSO
    RiPSO WRInaute impliqué
    Inscrit:
    5 Octobre 2007
    Messages:
    948
    J'aime reçus:
    0
    bin il y a d'autres solutions mais vu que ça fonctionne je vois pas pourquoi chercher autre chose :?
     
  3. dorian53
    dorian53 WRInaute passionné
    Inscrit:
    10 Avril 2005
    Messages:
    1 886
    J'aime reçus:
    1
    Salut,

    La fonction addslashes ne suffit pas pour se protéger des injections SQL.

    Il est fortement recommandé d'utiliser les fonctions de protection spécifiques à chaque base de données (telle que mysqli_real_escape_string() pour MySQL.

    http://fr.php.net/manual/fr/mysqli.real-escape-string.php
     
  4. RiPSO
    RiPSO WRInaute impliqué
    Inscrit:
    5 Octobre 2007
    Messages:
    948
    J'aime reçus:
    0
    euhhhh t'as pas une bonne page qui explique les injections sql stp?
     
  5. dorian53
    dorian53 WRInaute passionné
    Inscrit:
    10 Avril 2005
    Messages:
    1 886
    J'aime reçus:
    1
  6. RiPSO
    RiPSO WRInaute impliqué
    Inscrit:
    5 Octobre 2007
    Messages:
    948
    J'aime reçus:
    0
    Merci en fait j'avais compris dans une autre discussion :d

    mais sinon je vois pas en quoi ca fait de l'injection si tous les apostrophes sont bien remplacés.. :?
     
  7. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    533
    J'aime reçus:
    0
    Dans mon cas je vois pas trop comment je peux la protéger.

    Pour ma connection sql je procède ainsi :

    Connexion.php

    Code:
    class mysql
    {
    
    	var      $host    =    "mysql.site.org"; // Serveur SQL
    	var      $user    =    "login";              // Login pour le serveur SQL
    	var      $pass    =    "pass";           // Mot de passe pour le serveur SQL
    	var      $bdd     =    "nom";          // Nom de votre Base De Données
    
    	function connect()
    	{
    		@mysql_connect($this->host,$this->user,$this->pass) or die("Erreur de connexion au serveur SQL");
    		@mysql_select_db($this->bdd) or die("Impossible de se connecter à la base de données");
    
    		$this->host = "";$this->user = "";$this->pass = "";
    
    	}
    
    	function query($query)
    
    		$mysql = mysql_query($query);
    		
    		return($mysql);
    	}
    
    }

    Page.php

    Code:
    include("connexion.php");
    	$mysql = new mysql();
    	$mysql->connect();
    
    $texte : "appostrophe ' ici";
    
    $mysql->query("INSERT INTO ".$mysql->pref."_table VALUES('', '$texte')");
    De quelle mannière je peux protéger mes requetes ?
     
  8. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 003
    J'aime reçus:
    128
    En "protégeant" toutes les variables utilisées dans les ordres qui sont générées à partir de données que tu ne maîtrise pas à coup sûr (données de formulaires, d'url,etc). Tu peux notamment utiliser mysql_real_escape_string() pour ça.
     
  9. dorian53
    dorian53 WRInaute passionné
    Inscrit:
    10 Avril 2005
    Messages:
    1 886
    J'aime reçus:
    1
    Remplacer les apostrophes ne suffit pas à se protéger des injections car il existe d'autres techniques avec des caractères en hexadécimal.
     
Chargement...
Similar Threads - Addslashes appostrophes Forum Date
[MySQL] addslashes et stripslashes Développement d'un site Web ou d'une appli mobile 9 Août 2011
addslashes, mysql_real_escape_string, htmlentities ? Développement d'un site Web ou d'une appli mobile 28 Janvier 2011
Complètement largué ! addslashes/ htmlentities - S.O.S Développement d'un site Web ou d'une appli mobile 9 Décembre 2005
Aide htmlentities|htmlspecialchars|addslashes|stripslas hes Développement d'un site Web ou d'une appli mobile 23 Septembre 2005