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

Bibliothèques et frameworks PHP Discussion :

[XML] [Concept] Un log en Xml...


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 24
    Points : 20
    Points
    20
    Par défaut [XML] [Concept] Un log en Xml...
    Bonjour a tous...

    Alors voilà... je suis en train d'écrire un petit dms (Document management system), j'en suis encore au début... mais j'avance bien...

    Hier soir, je me suis dit que c'est dommage tout de même de ne pas garder de trace sur les changement de configuration (en gros... dommage de ne pas avoir de log...)

    Ni une, ni deux.. une ptite fonction qui écrit dans un fichier texte un rapport à chaque changement de config, d'ajout, d'édition d'utilisateur ... etc... Une fois fini... c'était pas mal.. et la... l'idée de faire en sorte à ce que la fonction ecrive ce log en Xml me traverse l'esprit...

    recodage... résultat... c'est plus sympa...

    Et finalement, en cette heure tardive, je me pose la question si ce que j'ai fais... n'est pas un gouffre en terme de sécurité...

    C'est vrai... il suffit de taper l'url en direct et on tombe sur le log... alors c'est sur, il faudrait changer les droits d'accès du fichier... mais tout les hébergeurs ne le permettent pas... ou installer un htaccess (mais ca fait bricolé je trouve... et c'est apache only... il me semble...)

    L'autre solution serait de stocker en base le log et générer un xml après authentification... mais le fait d'avoir le log dans un fichier me plaisais bien... (facile a manipuler...)

    Voila... chuis un peu perdu... et j'aimerais savoir ce que vous en pensez... peut-être connaissez vous un meilleurs concept pour loguer l'activité d'un application php...

    Manu

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    moi je dirais : pourquoi pas.

    En général les fichiers de logs sont structurés pour etre compris par un etre humain, cela permet de tracer des infos supplementaires pour debugger par exemple, mais si ton fichier ne trace que les modifications apportés a des parametres, il peut peut etre etre completement stucturé en XML.
    Il reste quand meme le probleme de la taille, car XML est relativement verbeux, mais je suppose que tu gerera alors des logs découpés par mois par exemple.

    Je ne vois pas ce qui te gene dans le fait d'utiliser un .htaccess... il n'y a rien de mieux je trouve.

    .htaccess est en effet géré par apache, et c'est cela qui en fait sa force. Sa prise en compte est directement liée a l'execution de ton hebergeur. Je te donne un exemple :
    Si tu as un fichier php contenant : <?php $password='truc'; ?> non protégé par un .htaccess, est-ce suffisant ? J'aurais tendance a dire que non, car le serveur php est un programme qui s'execute coté serveur en parallele du serveur web (apache).
    Si le serveur php "tombe" (on peut imaginer diverses attaques ayant ce but), et si, a ce moment la, on demande ton fichier, il s'affichera le code source du php, a savoir $password=...;

    Maintenant, que se passe t'il si tu protege ce fichier avec un .htaccess ?
    et bien le seul moyen de le contourner (si ton site n'a pas d'autres failles de sécurité, mais c'est une autre histoire ;o) c'est de faire tomber le serveur apache... ah mais oui, mais si le serveur apache tombe, tu ne pourras plus acceder a ton fichier... Comme tu vois, un fichier protégé par apache est plus sur qu'un fichier protégé par php.

    Quand a mettre des données de log dans une base de donnée... Est-ce vraiment utile ? en sachant que les logs ne seront jamais mis a jour, et ne devraient - en toute logique - jamais etre supprimés ? Le format fichier me parait plus approprié.

    Si tu veux garder un acces via php, rien ne t'empeche de mettre le fichier log dans un repertoire protegé par un .htaccess "Deny from all", puis de faire un fichier .php "interface" qui va, apres verification des droits de l'utilisateur, faire un file(...) ou un readfile() pour lire le fichier xml, eventuellement le mettre en forme et l'afficher.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 24
    Points : 20
    Points
    20
    Par défaut
    Merci pour ta réponse Fladnag

    Citation Envoyé par Fladnag
    moi je dirais : pourquoi pas.

    En général les fichiers de logs sont structurés pour etre compris par un etre humain, cela permet de tracer des infos supplementaires pour debugger par exemple, mais si ton fichier ne trace que les modifications apportés a des parametres, il peut peut etre etre completement stucturé en XML.
    Il reste quand meme le probleme de la taille, car XML est relativement verbeux, mais je suppose que tu gerera alors des logs découpés par mois par exemple.
    Exactement... c'est l'idée générale... l'autre avantage réside dans le fait que les logs xml pourrait être analysé par un autre soft... quelque soit le language dans lequel il a été développé...

    Sinon, je dois dire que pour le .htaccess... tu m'as a moitié (allez... au trois quart...) convaincue. Merci de m'avoir éclairci sur cette solution et d'avoir mis en avant ces avantages...

    peut-être d'autres avis, d'autres concepts sur l'accès sécurisé d'un fichier Xml... ?

  4. #4
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Pourquoi ne pas le déplacer dans un repertoire inaccessible depuis internet comme par exemple /home/monchemindaccesamonsite/www/../ ?

    De toute façon ces logs ne seront consulté que par des personnes "accréditées", donc :
    - Soit tu proposes un moyen de les lire depuis le backoffice
    - Soit tu pars du principe que le mec qui veux les lire, et bah il utilise son client ftp ou ssh préféré.

    non ?

    Quand à XML, pas XML, tout dépend de ce que tu envisages. L'utilisation d'XML, serait pour ma part, giudé par la question toute simple de , "Que vais je faire avec ces logs ?" :
    - Les représenter joliement ?
    - Les stocker simplement.

    Dans le premier cas XMl peut être interessant si il est couplé à des technos comme xsl, xpath, css. Même plus besoin de techno serveur pour les visualiser, tout peut être traité coté client.

    Sinon, un fichier texte bien conçu, saurait faire le même travail tout aussi bien.

    bye

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 24
    Points : 20
    Points
    20
    Par défaut
    Merci pour ta contribution Epox...
    Pourquoi ne pas le déplacer dans un repertoire inaccessible depuis internet comme par exemple /home/monchemindaccesamonsite/www/../ ?
    J'y avais pensé aussi... mais tout le monde n'a pas un dédié ou un accès ssh ou le droit d'écrire hors de son répertoire...

    Enfet (ça me travail cette histoire...) on pourrait résumer les choses de manières suivantes dans le cas ou les informations contenu dans le log soit moyennement sensible (un username par exemple... ou autre choses dans le genre):

    Pourquoi un log ?
    • - Pour surveiller une application php.
      - Garder une trace non-exhaustive de l'activité du soft.


    En quel format stocker mon log ?
    • - Base de donné (mysql, Pgsql ou autres...)
      [list:601ac00804]
      Avantages:
      - Sécurisé.
      - Possibilité de post traitement avancé...

      Désavantages:
      - Consomation de ressources.
      - Pas facile à manipuler.

    - Fichier texte
    • Avantages:
      - Facile à manipuler.
      - Univeralité du format (on ne peut pas faire plus universel).
      Désavantages:
      - La sécurité du fichier doit être délégué (au serveur web ou au système de fichier)
      - Post-traitement de se faire en server-side.

    - Fichier Xml
    • Avantages:
      - Facile à manipuler.
      - Portabilité du format.
      - Posibilite native de post-traitement.
      Désavantages:
      - La sécurité du fichier doit être délégué (au serveur web ou au système de fichier).
    [/list:u:601ac00804]

    Vala, vous'm dites si j'ai mal résumé un truc...

  6. #6
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    C'est même trop bien résumé Il n'y à plus qu'à choisir, ce qui n'est pas le plus facile.

    J'en profite pour penser à un truc, je m'était déja plus ou moins frotter à la chose, et lors de mes test sur mon serveur à la maison sous winXP, je n'avais pas réussi à gérer l'accès concurrentiels à un même fichier plat correctement.
    Celui ci était corrompu trop régulièrement pour être une solution viable.
    Par contre j'avais lu sur php.net que sous une Enieme distro de nux ce problème n'existait pas.
    Mais bon j'étais plus trop motivé et je n'ai pas pris le temps de tester sous une distro nux quelquel soit.

    Donc tu peux rajouter un bon point pour le SGBD, c'est qu'il gère parfaitement les accès concurrents.

    Par contre pour l'histoire du repertoire, je te fais confiance, je travaille essentiellement sous dédié, donc je ne connais pas trop l'envirronement des mutualisé en général.

    Merci pour ta contribution Epox...
    Tout le plaisir est pour moi

    bye

Discussions similaires

  1. [Conception] Fichier log requête
    Par masseur dans le forum Langage
    Réponses: 3
    Dernier message: 09/07/2007, 16h20
  2. Réponses: 12
    Dernier message: 16/09/2005, 22h02
  3. [Conception][Stockage]Fichier XML, SGBD ?
    Par le Daoud dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 17/02/2005, 15h06
  4. [Conception] Créer un éditeur graphique de XML
    Par mickagame dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 30/11/2004, 12h46
  5. [Concept][Sérialisation] XML ou serializable
    Par christopheJ dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 03/06/2004, 13h11

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