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 :

[Sécurité] Sécurité portable pour les données utilisées dans une requête


Sujet :

PHP & Base de données

  1. #1
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut [Sécurité] Sécurité portable pour les données utilisées dans une requête
    Bonjour.
    Actuellement je suis en train de concevoir une application qui pourra fonctionner plusieurs type de SGBD. SqlServer et Mysql 4 et 5 par la suite Postgresql. Mon souci premier c'est déviter le plus possible le risque d'injection SQL de manière plus générique. Sous mysql c'étais simple (selon certain) il suffit d'utiliser mysql_real_escape_string mais si je suis sous SQL Server je ne sais pas si c'est judicieux de l'utiliser surtout qu'il se comporet un peut différement. Il y a aussi addslashes mais est-ce suffisant.
    Quel est la meilleur alternative? Faire soit-même une fonction qui arrive a zapper tous élément suspect. (il faut que je puisse les référencer) ou utiliser malgré tous les fonctions proposé?
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  2. #2
    NoT
    NoT est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Points : 280
    Points
    280
    Par défaut
    Lut,

    Le meilleur moyen de contrer les injections est de vérifier chaque valeur passée dans une requete, par rapport au type que tu attends, exemple t'as une variable $age qui provient d'un formulaire de saisi, avant de le faire communiquer avec ta base, vérifie bien que ce soit un entier. (fonction is_int() )

    Wola

  3. #3
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    Oui pour ça je suis entierement daccord. mais il est possible que de controler que deux type pour ça. si c'est int ou boolean. le danger provient des chaines de caractères ou il faut que je puisse interdire certaine suite comme :
    --
    '
    =
    etc...
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    hello,

    si tu fais ton appli avec php5, utilise PDO et les requetes préparées... elles protegent automatiquement les données. c'est pratique.

    par contre avec php4 ca risque d'etre un peu plus compliqué.
    Pourfendeur de singletons en croisade

  5. #5
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    Apparement c'est une extension mais le problème c'est que c'est application qui sera distribué donc je ne sais pas ou il sera installé et quel config donc je dois faire l'application avec le minimum d'élément exterieur à rajouter. Il faut que ça puisse fonctionner avec les config de base de php5.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/08/2010, 17h37
  2. Problème pour trouver les données commune dans une requête
    Par Winterrage dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/02/2008, 10h14
  3. Enlever les données identiques dans une table
    Par DubeiserTM dans le forum Langage SQL
    Réponses: 15
    Dernier message: 31/01/2007, 21h14
  4. Enlever les données identiques dans une table
    Par DubeiserTM dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 23/01/2007, 18h27
  5. Récupérer les données interbase dans une TStringGrid
    Par Ousse dans le forum Bases de données
    Réponses: 1
    Dernier message: 24/03/2005, 12h51

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