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 :

[Sécurité] Données XML ou SGBD


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 130
    Points : 74
    Points
    74
    Par défaut [Sécurité] Données XML ou SGBD
    Bonjour a tous, je voudrais vous poser une question générique sur la gestion de données.

    Si je crée un systême d'inscription sur mon site, est ce que placer la liste des membre dans un fichier XML plutôt que dans une base de données telle que MySQL risque de poser des problême de lenteur d'accès ou des probleme si plusieur personne s'inscrivent en même temps?

  2. #2
    Membre averti
    Homme Profil pro
    Coordinateur développement web
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Coordinateur développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 412
    Points
    412
    Par défaut
    Salut,

    Niveau sécurité il est plus faicile de trouver un fichier xml que de rentrer dans une base de donnée, donc moi je préfère la bdd comme même

    Mic
    Toutes mes références en ligne : http://www.developpeur-web-php.fr

  3. #3
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Plus tu auras d'user et moins le fichier xml sera performant par rapport à la base de donnée.
    Ensuite, pour toutes les fonctions de recherche ou assmilé, la base de donnée est, là aussi, nettement plus rapide que le xml (même si en terme de fonctionnalité, avec les xpath et assimilé, on peut imaginer une gestion xml assez simple à mettre en place).

    Bref, a moins que tu ais une vraie raison de ne pas utiliser de base de donnée, utilise-en une. En plus, si tu as une gestion des users, il est très probable que dans un avenir proche, si ce n'est pas déjà le cas, tu ais besoin d'autres tables, donc d'avoir une base de donnée malgrè tout (à moins d'avoir un truc entièrement géré avec des fichiers xml, mais c'est vraiment s'accrocher un boulet au pied avant même de commencer à coder).

    Accessoirement, et ca n'a absolument aucun rapport avec le sujet, on dit "quand même" et pas "comme même". C'est sans doute mal venu d'un gars comme moi qui ne sait pas poster un message sans faute, mais bon, chacun son ptit ch'val de bataille ^_^
    Rakken

    Oneira, un monde imaginaire d'Heroic Fantasy.

    Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/

  4. #4
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Points : 256
    Points
    256
    Par défaut
    Citation Envoyé par Extra-Nitro
    Bonjour a tous, je voudrais vous poser une question générique sur la gestion de données.

    Si je crée un systême d'inscription sur mon site, est ce que placer la liste des membre dans un fichier XML plutôt que dans une base de données telle que MySQL risque de poser des problême de lenteur d'accès ou des probleme si plusieur personne s'inscrivent en même temps?
    en gros tu veux créer une base de donnée ?

    l'interet est quand meme tres minime etant donné que tu risques de te retrouver avec une base de donnée moins performante

    je voudrai afficher des données en sortie, sans utiliser la fonction echo, esque je peu ecrire une fonction en c, pour l'integrer en module dans php ( ;

    sahid

  5. #5
    Membre confirmé Avatar de yjuliet
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Août 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 362
    Points : 460
    Points
    460
    Par défaut
    Salut.

    Pour ma part, la question ne se pose pas. Bien qu'adepte du XML dans de nombreux cas, pour des questions d'identification/authentification, seule une BDD (ou un annuaire ...) sont réellement envisageables. (je n'entrerai pas dans le débat des /etc/shadow et /etc/passwd unix).

    • sur un point de vue des performances d'accès, la BDD est, sans conteste, dès que tu as une quantité suffisante d'informations, la plus performante, du fait de l'optimisation des algorithmes de recherche, de l'indexation et du fait que tu n'as pas à systématiquement aller chercher les infos sur un support physique lent (un disque dur par exemple).
    • sur un point de vue confidentialité des données, la BDD est beaucoup plus adaptée, puisque l'accès aux données est soumise à une identification préalable (parfois optionnelle, assez faible, et/ou contournable mais qui a le mérite d'exister)
    • sur le point de vue cohérence des données, seule une BDD saura gérer correctement les accès aux données et gérer la concurrence d'accès (c'est pas vrai dans l'absolu, mais il faut des systèmes de fichier relativement avancés pour gérer ça correctement, même le meilleur des algorithmes dans ton programme n'empêchera pas un accès par un autre programme).

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 130
    Points : 74
    Points
    74
    Par défaut
    D'accord merçi.

    Mais alors dans quels cas recommandez vous le XML?

  7. #7
    Membre éclairé Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    Personnellement, j'utilise XML pour communiquer des données entre 2 programmes, ou 2 parties de programme, pour envoyer des données à un SWF par exemple, ou encore envoyer des infos à un autre site (arf je me rappelle encore douloureusement de FIANET, pour ceux qui connaissent...)
    Il est aussi parfois utilisé, avec XSLT, pour générer des pages web.

  8. #8
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Citation Envoyé par Extra-Nitro
    Mais alors dans quels cas recommandez vous le XML?
    • Pour échanger des données en quantité raisonnable (SOAP, flux RSS, ...)
    • Pour stocker des données de configuration (lues au premier démarrage d'une application)


    Pour info, il existe des SGBD XML natifs (Solution professionnelle haut de gamme et encore peu répandue)
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  9. #9
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Pour ma part, les rares fois ou je m'en suis servi, c'était pour creer des fichiers de configurations pour divers modules.
    Avoir une table dans une base pour dire que par défaut, quand on génère une image, ca fait 100*150px, ca ne me semblait pas approprié, et mettre les valeurs en dur dans le code, c'est mal.
    Le xml offre une syntaxe qui a l'avantage de pouvoir être lue par un tas d'outils (je pense a simpleXML par exemple) et qui est standard. Donc, dans la mesure ou ces modules avaient pour but de se faire réutiliser, un fichier de conf du module, externe au code php, et écrit avec une syntaxe standardisé, était à mon sens ce qu'il y avait de plus propre et pratique.

    Je m'en suis également servi une fois pour faire communiquer deux programmes. Chacun avait été développé indépendament de l'autre, et il était plus simple de faire une "sortie" xml au premier programme et une "entrée" xml au second que de vouloir convertir les données a la volée. (D'autant plus qu'une conversion directe pose problème quand la base de l'un ou l'autre programme évolue, il faut tout refaire).
    Rakken

    Oneira, un monde imaginaire d'Heroic Fantasy.

    Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/

  10. #10
    Membre confirmé Avatar de yjuliet
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Août 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 362
    Points : 460
    Points
    460
    Par défaut
    Pour ma part, XML me sert principalement pour stocker et échanger des données structurées de manière standardisée (SOAP, RSS, Xsql/Xquery, par exemple), ou pour stocker des fichiers de configuration, de la gestion de modèles, etc.

    Je m'en sers généralement combiné à XSLT pour transformer la structure d'entrée en la structure attendue par mon appli, ou simplement faire une sortie XHTML ou XSL-FO.

    Entre autres, XML me permet de sérialiser mes objets pour pouvoir les ré-instancier plus tard ou ailleurs, voire dans une autre application. Un fichier XML généré par une appli PHP peut être ré-utilisé par une appli Java ou .NET sans avoir besoin d'autre chose qu'un parseur XML, ce qui n'est pas le cas des SGBD.

    J'ajouterais que j'évite (hors protocoles chiffrés) d'utiliser XML pour transférer des données sensibles.

  11. #11
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Citation Envoyé par yjuliet
    J'ajouterais que j'évite (hors protocoles chiffrés) d'utiliser XML pour transférer des données sensibles.
    Pourquoi ? (simple curiosité)
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  12. #12
    Membre confirmé Avatar de yjuliet
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Août 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 362
    Points : 460
    Points
    460
    Par défaut
    Citation Envoyé par Hephaistos007
    Pourquoi ? (simple curiosité)
    je n'aime pas que mes informations "sensibles" transitent en clair sur un réseau TCP/IP, fusse-t-il un réseau local voire un simple cable croisé.
    Donc, pour les web-services, données sensibles implique HTTPS et non HTTP, et j'évite le stockage dans un répertoire accessible par le web des données XML, lorsque c'est possible. (qui aurait l'idée de mettre le fichier /etc/passwd dans le /var/www/public/htdocs ?)

    exemple :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <client>
      <nom>toto</nom>
      <numCompte>1234567890x</numCompte>
      <motDePasse>monMotDePasse</motDePasse>
    </client>
    Que peut-il se passer si un intru arrivait à intercepter ce message ??? C'est là toute la question que je me pose, et rien d'autre.
    Bref, tout ça pour dire que des informations sensées être confidentielles doivent être chiffrées, et ce n'est pas XML qui s'en charge...

    Si certains considèrent ces petites mesures comme paranoiaques, elles me paraissent un minimum pour parler de sécurité dans un système d'information (bien que loin d'être suffisantes).

  13. #13
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    et XML-encryption ?
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

Discussions similaires

  1. [Mysql] Donnée XML >vers> BDD
    Par largiss dans le forum XQUERY/SGBD
    Réponses: 14
    Dernier message: 28/02/2017, 17h51
  2. [Sécurité] protection données XML
    Par nkdb dans le forum Langage
    Réponses: 9
    Dernier message: 05/04/2007, 15h42
  3. Où est l'Expert Liaison de données XML [BCB6]
    Par Colloc dans le forum C++Builder
    Réponses: 3
    Dernier message: 21/02/2005, 14h33
  4. [xml]manipuler des données xml sous Oracle9i
    Par crazy dans le forum SQL
    Réponses: 7
    Dernier message: 28/02/2004, 11h40
  5. problème xsl : inclure une donnée xml dans une balise html
    Par djodjo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/01/2003, 09h24

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