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

EDI, CMS, Outils, Scripts et API PHP Discussion :

log des connexions


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 55
    Points : 22
    Points
    22
    Par défaut log des connexions
    Bonjour,

    J'ai un espace membres sur un site en php sans MySql.
    Tout baigne... ou presque.
    Les membres qui le visitent étant peu nombreux par rapport au nombre total de membres, j'ai posé la question à un de ceux qui le visitait pas... et la réponse a été étonnante.
    Il le visitait (et était content), mais moi je n'ai pas de trace pour lui dans mon fichier 'visitor.txt' généré par script qui pourtant fonctionne.
    Que se passe-t-il? Certaines conditions de navigation enpêchent-elles le script de fonctionner (navigation anonyme, navigation sur un poste public, adresse IP cachée, adresse IP variable dûe à connection sans ADSL, autre chose)?

    Voici le bout de code concerné:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $_SESSION["MEMBRE"]="oui";
    	     $_SESSION["login"]=$nom;
    	     $_SESSION["passe"]=$passe;
    	     // sauver les infos de connexion
    	     $chn=file_get_contents('membro/visitor.txt');
    	     $chn.="\n".$nom."\t".$id_mem."\t".date("Y-m-d h:i:s")."\t".$_SERVER["REMOTE_ADDR"];
    	     $mf=fopen('membro/visitor.txt','w');
    	     fwrite($mf,$chn);
    	     fclose($mf);
    Avez-vous une (des) explication(s) pour ces visites non répertoriées?

    Merci d'avance pour vos conseils et tuyaux
    Steph

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Points : 200
    Points
    200
    Par défaut
    bonjour,

    juste une petite interrogation, pourquoi ne pas avoir fait plutôt ceci (si je ne me trompe pas) qui a le même comportement sans avoir a reprendre le contenu du fichier en lui même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    $_SESSION["MEMBRE"]="oui";
    	     $_SESSION["login"]=$nom;
    	     $_SESSION["passe"]=$passe;
    	     // sauver les infos de connexion
    	     $chn="\n".$nom."\t".$id_mem."\t".date("Y-m-d h:i:s")."\t".$_SERVER["REMOTE_ADDR"."\n"];
    	     $mf=fopen('membro/visitor.txt','a');
    	     fwrite($mf,$chn);
    	     fclose($mf);

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 55
    Points : 22
    Points
    22
    Par défaut
    Bonjour et merci,
    Je ne suis pas assez calée pour voir des différences majeures sauf entre "a" (toi) et "w" (moi) dans le fopen.
    Mais j'aurais peut-être dû préciser que lorsque le visiteur rentre, le fichier visitor.txt existe déjà, donc il est ouvert par le script, pas créé (les visiteurs précédents ont déjà laissé leurs "signatures") et la nouvelle "signature" est alors écrite à la suite.
    Je n'ai pas la solution pour mon souci sauf s'il faut te lire entre les lignes.
    Mais à supposer que tu veuilles dire que ton script règlerai le souci, rappelles-toi que je n'ai pas moyen de tester car je ne sais pas pourquoi le mien a cette faiblesse (et je me suis bien gardée de demander à mon membre "content" ce qu'il faisait pour passer inaperçu).
    A+, Steph

  4. #4
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Points : 200
    Points
    200
    Par défaut
    en fait le "a" pour le fopen te permet de pointer directement à la fin du fichier, donc, tu n'as pas besoin de récupérer tout ton contenu avec le file_get_content et d'y ajouter ta ligne pour ensuite le réinjecter dans ton fichier.
    Effectivement, ça peut peut être résoudre ton problème, c'est une piste.

    si tu veux tester, je te conseille de garder ton script telle qu'il est et d'y ajouter à la suite celui modifier et d'enregistrer dans un visitor2.txt, et ainsi de comparé le 2 fichiers.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 55
    Points : 22
    Points
    22
    Par défaut
    Bonjour,
    Merci de l'info (j'avais faux sur "a").
    Je vais tester et je te tiens au courant si cela marche, comme le script actuel.
    Si c'est le cas je le remplacerai définitivement.
    Je te tiens au courant.
    Mais... si c'est peut-être une piste, tu as peut-être une (petite ou grande) idée de la cause de ce souci étonnant, non ?
    En tout cas, il va me falloir une bonne semaine de pointage pour vérifier si le nouveau script recense des gens qui n'avaient jamais été identifiés par "signature" auparavant.
    Question de béotienne: si l'adresse IP est masquée ou si le visiteur utilise avec son navigateur la navigation privée, alors que se passe-il?
    Dans mes logs de visitor.txt, je n'ai que des lignes remplies, cad chacune avec ID du membre, date de la connexion, et adresse IP (donc si l'adresse IP est masquée il marque tout de même quelque chose???).
    A+ donc (et merci de t'occuper de ce cas sans parano), Steph

  6. #6
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Points : 200
    Points
    200
    Par défaut
    bonjour,

    J'ai une petite idée, mais elle est a vérifier, image 2 utilisateurs se connecté à la micro seconde près, il récupère le même contenu de ton fichier visitor.txt, le premier remplace le contenu de ton fichier avec sa connexion, mais tout de suite derrière le second fait la même chose, du coup la trace d'existence du premier est supprimé. Cela semble tordu, mais logique, cela met déjà arrivé dans une de mes applis.
    Pour l'ip, je ne sais pas comment cela se comporte.
    Pour être sur tu peut faire un test de validité de l'ip avant d'anregistrer et si l'IP est éronné, tu remplace le résultat de l'IP par "IP non visible" ou "IP non lu". se serait une solution.
    Yann

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Question de béotienne: si l'adresse IP est masquée ou si le visiteur utilise avec son navigateur la navigation privée, alors que se passe-il?
    Une adresse IP ne peut pas être masquée : le serveur web communique forcemment avec une IP, même quand ce n'est pas directement l'IP de la personne qui navigue.
    La navigation privée des navigateurs est seulement une configuration qui ne garde pas de traces sur l'ordinateur local (cookies, fichiers temporaires, historique etc.)

    De toute façon si une connexion ne fournissait pas toutes les informations attendues, tu aurais une ligne vide.

    Pour les connexions simultanées, c'est assez improbable mais tu pourrais utiliser une base de données au lieu d'un fichier pour en être sûr.

    Personnellement je pense plutôt que tout les utilisateurs ne passent pas par la case "log" de ton code.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    tres simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SERVER["REMOTE_ADDR"]
    ne suffis pas pour localiser un utilisateur...

    mais par contre, il est peu etre possible que pour les sans $_SERVER["REMOTE_ADDR"], ce ne soit pas des utilisateurs normaux ( bot, server de google, aol, etc ) .. mais de la à en faire une généralité...
    Conception / Dev

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 55
    Points : 22
    Points
    22
    Par défaut
    Bonjour à tous les 3,
    Merci pour vos réactions.
    Je répond à chacun.
    Yassen, ton nouveau code fonctionne toujours pour l'entrée dans l'accès membre (ce n'est pas surprenant), mais il n'écrit pas l'adresse IP dans le fichier txt (donc mon code un peu balourd prend l'avantage... je plaisante).
    La probabilité de connexions à la microseconde est possible mais très improbable, le nombre de membres est limité, dans le monde entier et ils ne se connectent pas tous les jours.
    Sabotage, oui c'est vrai mais c'était une liste sans trop réfléchir, le "autre" est sans doute plus significatif. Je suis vraiment paumée car bien sûr il ne s'agit pas que d'un seul membre (je n'ai demandé en direct qu'à un seul) et comme ils payent...
    Comment font-ils pour éviter mon log? Que veux tu dire?
    Je ne peux pas voir les lignes blanches sur mon txt.
    Ascito, je n'ai rien venant des bots.
    Merci encore de votre aide
    Steph

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne peux pas voir les lignes blanches sur mon txt.
    Comment ça ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 55
    Points : 22
    Points
    22
    Par défaut
    Bonjour Sabotage,
    Quand je regarde mon txt il n'y a aucune ligne blanche entre les "signatures", chacune avec 3 infos séparées par une tabulation.
    Quand je fais dans le fichier CTRL + fin, j'aboutis au dernier caractère de la dernière signature chronologiquement (j'en ai 5 à 10 par jour).
    Voilà c'est plus clair? (moi je suis tjs paumée).
    Merci de ton aide et de ton soutien.
    A bientôt, Steph

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Les utilisateurs qui ne sont pas logués sont donc des utilisateurs qui ne vont pas sur cette partie du code.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 55
    Points : 22
    Points
    22
    Par défaut
    Bonjour Vincent (si cela ne te dérange pas je vois que ton prénom figure aussi et c'est moins "inquiétant" que le pseudo).

    Ta phrase elle qui paraît sybilline m'inquiète pas mal.
    Le site a une partie publique bien sûr, et là pas de souci.
    Si des gens accèdent à la section membre sans passer par les logs du txt, je me dis (à tort ?) qu'il y a un gros problème de sécurité.
    Je viens de regarder, pour une journée standard, le 2 Août, les logs officiels du site (cad le vrac de toutes les visites au site fourni par l'hébergeur) et j'ai comparé mon txt avec toutes les occurrences dans les logs du dossier "membro"... et c'est totalement identique (17 accès), autrement dit il n'y a pas de contournement du script que j'ai fourni au début de ce fil.
    Ce qui n'empêche pas la possibilité d'une ou plusieurs failles car je n'ai regardé qu'une seule journée et il est possible que les "petits malins" se soient connectés à d'autres dates.
    De toute façon le souci est bien réel, car après paiement un membre "normal" se connecte régulièrement, mais le souci dont je parle concerne des membres (pas seulement quelques uns) qui ou bien ne se sont connectés officiellement qu'1 seule fois -le souci initial de ce fil pour un cas "content"- ou bien ne se sont jamais connectés, ce qui reviendrait à balancer l'argent par les fenêtres!)
    Chercher d'autres dates est possible, mais c'est comme pour une botte de foin.
    Qu'en penses-tu?

    Merci de ton aide, Steph

    PS: à ce stade (je ne suis pas naïve), il me faut préciser que il n'y a rien de répréhensible dans la section membro (des données scientifiques très pointues), que les membres (tous payent) ont l'information à l'inscription que l'adresse IP sera captée avec la date de chaque visite... donc je suis paumée encore plus [le membre qui s'est dit "content" aurait commis une maladresse car il utilise un proxy d'anonymisation contournant les logs? quel est l'intérêt des membres qui ne se sont jamais "connectés" et qui ont payé (s'ils utilisent un proxy et offrent leur ID/PW, rien ne les empêcherait de se connecter loyalement de temps en temps)? quel est l'intérêt de se cacher via un proxy sachant que le tout est dans une association à but non lucratif et les membres ont toutes les infos qu'ils veulent (et votent) en ligne? tout ceci ne serait qu'un jeu (pour permettre des entrées à des non membres qui veulent rester anonymes avec la bénédiction (ou non) de non membres?]

    Bon assez de parano, je te donne juste des idées très limitées qui te feront peut-être sourire (tu es modérateur du forum, donc un sacré expert) mais que je mentionne pour avoir un éclairage au cas où il n'y aurait pas de solution (ni de faille de sécurité dans le codage PHP de mon espace membre).

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En utilisant un proxy ou n'importe quelle autre méthode, tu aurais quand même une trace dans ton log personnalisé et dans le log du serveur.
    Simplement l'adresse IP que tu capterais, ne serait pas la vraie adresse de l'utilisateur.

    Tant que tu constates les memes connexions sur les deux logs, c'est bien qu'il n'y a rien de bizarre.
    Nous sommes en période de vacances, il est possible que des gens aient payé sans se connecter.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 55
    Points : 22
    Points
    22
    Par défaut
    Rebonjour,
    C'est gentil de me rassurer (plus objectivement merci d'avoir écarté la piste du proxy).
    Je ne suis pas sur un nouveau coup, j'ai parlé de gens qui se sont inscrits et ont payé depuis au moins 3 mois et qui n'ont jamais visité la section membre!
    Pour le membre "content", c'est vrai je ne peux exclure qu'il m'ait raconté n'importe quoi.
    En général (chez le membre normal), il visite la section dans les 48 heures après inscription, puis beaucoup le premier mois, après cela varie selon les membres. En plus, avant de s'inscrire et de payer, les visiteurs ont la possibilité (et ne s'en privent pas) d'avoir des extraits gratuits de la section membre sous PDF (par e-mail).
    Voilà.
    Merci en tout cas, Vincent.
    A+ Steph

  16. #16
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    Tu as franchement énormément de solutions, vu la très haute barre de sécurité que tu as mise...
    tiens, un petit exemple...

    Mr A. se connecte sur ton site, il en est content et du coup te place dans ses favoris. Le navigateur de Mr A à enregistré pour lui son id de session (qui est un cookies rappelons-le) et aussi le nom et le prénom.

    Mr A. qui se reconnecte sur le site, s'il n'y a pas de vérification précise ( moi je dirais que la session devrait être temporelle, pas plus de 1h sans activité sur le site), peu quand même se connecter...

    Alors en effet l'id de session entre deux aurait pu être vidé par le navigateur (ou un tiers) mais pas forcément tout...

    Cela n’empêche pas Mr A. de venir sur ton site, et je trouve cela très bien!

    Bon, de ce que j'ai aussi compris, c'est que par rapport à ta cible commerciale ( car malgré tous les associations ont des budgets), les stats ne correspondent pas à tes logs...

    La à mon avis il ne s'agit pas de sécurité ou de comparo fait rapidement, mais vraiment d'une recherche, et d'un métier qui n'a rien à voir avec la sécurité des stats que tu présentes...

    Finalement, moi je trouve ton topique très sympatrique et te souhaite de trouver la réponse pour pouvoir la partager.


    Cdtl
    Conception / Dev

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 55
    Points : 22
    Points
    22
    Par défaut
    Boudou (je viens de voir les films Marius et Fanny au cinoche), est-tu ironique ou goguenard.
    Non, il s'agit d'un espace membre sécurisé sans BDD.
    Si j'en sors, même après 5 minutes, il faut redonner ID et PW.
    S'il y a un truc, c'est certainement du domaine des experts que vous êtes.
    L'origine de ce fil est l'étonnement que j'avais (voir début).
    Vincent me dit que s'il n'y a pas d'écart entre les logs du serveur et mon "log" via txt (ce que j'ai vérifié sur 1 jour), il ne voit rien de suspect.
    Moi je me dis que s'ils ont payé ils vont se connecter au moins 1 fois et vite (pour la découverte), c'est de la logique, pas de l'informatique. Trois ou 4 mois après toujours rien.
    Je ne peux rien dire de plus mais je vais régulièrement comparer les 2 sources de logs et si j'ai du neuf je relancerai.
    Merci en tout cas
    Steph

  18. #18
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    Tu as aussi quelque chose de pas très simple à faire quand c'est volontaire mais qui existe.

    C'est une norme du http

    Cela concerne directement les sessions

    Le partage de session !

    Une session finalement représente un canal entre ton server, et les utilisateurs. Il est possible que toi et moi nous puissions utiliser ce canal qui est ouvert pour parler, communiquer, échanger. Mais il est aussi possible que ce canal soit partagé à tous les utilisateurs qui s'y connectent. A partir du moment ou le canal est ouvert, il ne se ferme que s'il n'a plus d’utilisateurs.

    C'est pour moi une piste à ne pas négliger, qui en fait et très intéressante mais très méconnu.
    Conception / Dev

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 55
    Points : 22
    Points
    22
    Par défaut
    D'accord Ascito et merci de ton intérêt !
    C'est sûrement Sioux en effet, si... (comme tu l'as dit justement).
    Dis moi les infos dont tu as besoin pour avancer.
    A+, Steph

Discussions similaires

  1. [WS 2003] Log des connexions PPTP
    Par Alextaz43 dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 03/02/2010, 10h30
  2. Win Server 2003 - Logs des connexions utilisateurs ?
    Par nerick dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 14/05/2008, 13h42
  3. Log des connexions a internet
    Par drinkmilk dans le forum Réseau
    Réponses: 5
    Dernier message: 29/03/2007, 08h52
  4. Log des connexions
    Par rvzip64 dans le forum Administration
    Réponses: 1
    Dernier message: 24/10/2006, 09h36
  5. Logs des connexions sur un cisco 2600
    Par spynux dans le forum Développement
    Réponses: 1
    Dernier message: 01/01/2006, 23h36

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