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 :

Protection d'une requête et sécuriser un DELETE


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Par défaut Protection d'une requête et sécuriser un DELETE
    Bonjour à tous,

    je commence à manipuler PDO avec MySQL.
    J'ai appris que PDO offrait une protection des paramètres dans une requête.
    Mais à quel niveau exactement ? Cette protection est seulement avec les bindParam ou "tout PDO" ?

    Pour le moment, j'ai par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    try {
    	$cnxPDO->exec("DELETE FROM t_membre WHERE login='".$_GET['login']."';");
    } catch (PDOException $e) {
    	print "Erreur PDO ! : " . $e->getMessage() . "<br/>";
    	die();
    }
    Etant donné que le paramètre "login" provient de GET, est-il nécessaire d'utiliser mysql_real_escape_string() et autres fonctions anti code malveillant ?

    Merci d'avance ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    avec pdo tu peut utiliser les paramètre, ce qui suffit en matière d'anti injection.

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Par défaut
    tu parles de quels params ? tu peux être plus précis STP...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Au lieu de faire comme tu utilise un PdoStatement (et pas un pdo) , tu fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $cnxPDO->prepare("DELETE FROM t_membre WHERE login=?;");
    $cnxPDO->bindParam(1,$_GET['login'], PDO::PARAM_STR);
    $cnxPDO->execute();
    Dernière modification par Sendusha ; 10/05/2011 à 16h23.

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Par défaut
    ok merci Bourgui...

    mais je croyais (peut être à tord) que la méthode prepare() été destiné à une utilisation répétitive d'une "même" requête... ??? nan ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    perso j'utilise ce genre de requète tout le temp en asp.net et je trouve ça plus propre et en terme de perf, t'y perd quasiement rien je pense.

Discussions similaires

  1. Erreur lors de la conversion d'une requête SELECT en DELETE
    Par SamLeChiseuji dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 11/07/2007, 15h09
  2. Remplacer une jointure dans une requête DELETE
    Par lorant dans le forum Requêtes
    Réponses: 5
    Dernier message: 30/11/2006, 19h46
  3. [ODBC] Faire une requête INSERT, DELETE, UPDATE
    Par avogadro dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/09/2006, 11h35
  4. [VB.Net 2.0] Comment implémenter une requête Delete ?
    Par estelledany dans le forum Accès aux données
    Réponses: 4
    Dernier message: 13/07/2006, 12h39
  5. Réponses: 4
    Dernier message: 05/04/2005, 18h28

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