Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/02/2007, 15h16   #1
Membre du Club
 
Inscription : décembre 2005
Messages : 130
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 130
Points : 41
Points : 41
Envoyer un message via MSN à Extra-Nitro
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?
Extra-Nitro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 15h21   #2
Membre éclairé
 
Homme Michael Chusseau
Coordinateur développement web
Inscription : août 2004
Messages : 475
Détails du profil
Informations personnelles :
Nom : Homme Michael Chusseau
Âge : 29
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 : 392
Points : 392
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
mic79 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 16h02   #3
Modérateur
 
Avatar de Rakken
 
Inscription : août 2006
Messages : 1 207
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 207
Points : 1 137
Points : 1 137
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/
Rakken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 16h30   #4
Membre confirmé
 
Développeur Web
Inscription : septembre 2006
Messages : 215
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : septembre 2006
Messages : 215
Points : 246
Points : 246
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
sahid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2007, 14h10   #5
Membre éprouvé
 
Avatar de yjuliet
 
Homme Yvan
Consultant informatique
Inscription : août 2006
Messages : 360
Détails du profil
Informations personnelles :
Nom : Homme Yvan
Âge : 32
Localisation : France

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

Informations forums :
Inscription : août 2006
Messages : 360
Points : 402
Points : 402
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).
yjuliet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2007, 09h14   #6
Membre du Club
 
Inscription : décembre 2005
Messages : 130
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 130
Points : 41
Points : 41
Envoyer un message via MSN à Extra-Nitro
D'accord merçi.

Mais alors dans quels cas recommandez vous le XML?
Extra-Nitro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2007, 16h58   #7
Membre chevronné
 
Avatar de haltabush
 
Développeur Web
Inscription : avril 2005
Messages : 726
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 726
Points : 790
Points : 790
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.
haltabush est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2007, 17h08   #8
Membre Expert
 
Avatar de Hephaistos007
 
Inscription : décembre 2004
Messages : 1 305
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 305
Points : 1 387
Points : 1 387
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)
__________________
Mieux vaut mobiliser son intelligence sur des conneries que sa connerie sur des choses intelligentes. [SHADOKS]

Cours sur la programmation pour SmartPhones Android (Requière la lecture du cours sur la programmation Java)
Hephaistos007 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2007, 17h46   #9
Modérateur
 
Avatar de Rakken
 
Inscription : août 2006
Messages : 1 207
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 207
Points : 1 137
Points : 1 137
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/
Rakken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2007, 02h48   #10
Membre éprouvé
 
Avatar de yjuliet
 
Homme Yvan
Consultant informatique
Inscription : août 2006
Messages : 360
Détails du profil
Informations personnelles :
Nom : Homme Yvan
Âge : 32
Localisation : France

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

Informations forums :
Inscription : août 2006
Messages : 360
Points : 402
Points : 402
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.
yjuliet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2007, 14h28   #11
Membre Expert
 
Avatar de Hephaistos007
 
Inscription : décembre 2004
Messages : 1 305
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 305
Points : 1 387
Points : 1 387
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é)
__________________
Mieux vaut mobiliser son intelligence sur des conneries que sa connerie sur des choses intelligentes. [SHADOKS]

Cours sur la programmation pour SmartPhones Android (Requière la lecture du cours sur la programmation Java)
Hephaistos007 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2007, 23h19   #12
Membre éprouvé
 
Avatar de yjuliet
 
Homme Yvan
Consultant informatique
Inscription : août 2006
Messages : 360
Détails du profil
Informations personnelles :
Nom : Homme Yvan
Âge : 32
Localisation : France

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

Informations forums :
Inscription : août 2006
Messages : 360
Points : 402
Points : 402
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 :
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).
yjuliet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2007, 00h12   #13
Membre Expert
 
Avatar de Hephaistos007
 
Inscription : décembre 2004
Messages : 1 305
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 305
Points : 1 387
Points : 1 387
et XML-encryption ?
__________________
Mieux vaut mobiliser son intelligence sur des conneries que sa connerie sur des choses intelligentes. [SHADOKS]

Cours sur la programmation pour SmartPhones Android (Requière la lecture du cours sur la programmation Java)
Hephaistos007 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h58.


 
 
 
 
Partenaires

Hébergement Web