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

Web & réseau Delphi Discussion :

Intraweb : tracer les adresses IP des clients qui se connectent


Sujet :

Web & réseau Delphi

  1. #1
    Membre habitué
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 466
    Points : 137
    Points
    137
    Par défaut Intraweb : tracer les adresses IP des clients qui se connectent
    Bonjour,
    Ceci concerne l'utilisation d'Intraweb.
    Pour des raisons de traçabilité, j'aurais besoin de tracer les adresses IP des clients qui se connectent.

    J'ai bien une routine de log:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    procedure LogLine(const AWhere, AMessage: string);
    var
      F: TextFile;
    begin
        AssignFile(F, AWhere);
        if FileExists(AWhere) then
          Append(F)
        else
          Rewrite(F);
        try
          WriteLn(F, AMessage);
        finally
          CloseFile(F);
        end;
    end;

    et je souhaite appeler cette procédure avec quelque chose comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    logline(ExtractFilePath(Application.ExeName)+'\log\log.txt',Datetimetostr(now)+' Client IP '+ ici la propriété du client qui se connecte);
    Merci pour votre aide
    PhilLu

  2. #2
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Bonjour

    Tu devrais retrouver ces infos au niveau de la session, regarde ce que tu fournis WebApplication.

  3. #3
    Membre habitué
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 466
    Points : 137
    Points
    137
    Par défaut
    Salut pprep,
    Merci pour ta réponse
    J'ai bien une piste, mais je ne trouve pas comment la mettre en œuvre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function UserSession: TIWUserSession;
    begin
    Result := TIWUserSession(WebApplication.Data);
    end;
    J'ai fouillé dans la bible de Bob Swart que tu m'as recommandé, mais rien de très clair pour moi.
    Ce ne dois pas être une demande râre de savoir qui, de où et combien de temps un client se connecte et reste connecté...

    Merci à toi,
    PhilLu

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Citation Envoyé par PhilLU Voir le message
    Salut pprep,
    Merci pour ta réponse
    J'ai bien une piste, mais je ne trouve pas comment la mettre en œuvre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function UserSession: TIWUserSession;
    begin
    Result := TIWUserSession(WebApplication.Data);
    end;
    J'ai fouillé dans la bible de Bob Swart que tu m'as recommandé, mais rien de très clair pour moi.
    Ce ne dois pas être une demande râre de savoir qui, de où et combien de temps un client se connecte et reste connecté...

    Merci à toi,
    PhilLu
    tu devrais trouver ton bonheur dans cet exemple
    https://github.com/Atozed/IntraWeb/b...ist/Unit32.pas

    mais attention, le web fonctionne sur un mode déconnecté...
    1) je fais une requête
    2) je reçois la réponse
    3) fin de l'histoire

    donc "combien de temps un client se connecte et reste connecté" n'a pas de sens...tout comme tu ne sais pas si l'utilisateur travaille quand il a lancé l'application Windows...à moins de tracer les actions...et quand tu fermes une page web - à moins de déclenche un traitement spécifique - il n'y a pas de "déconnexion" vu que la page n'est pas connectée (contrairement à une composant BDD par exemple)
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Sinon, si tu gères une session type PHPSESSIONID, cela se fait via les Cookies/URI pour avoir un utilisateur connecté d'un point de vue logiciel (un niveau applicatif au dessus du HTTP)

    Et rien ne vaut dans ce cas une base de donnée pour gérer les sessions, voire même des Tokens.
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    j'ajouterais que l'adresse IP est une information intéressante mais susceptible de changer, y compris au cours d'une même session si on est en itinérance mobile par exemple

    autre cas de figure que j'ai rencontré, une connexion en load balancing sur deux accès internet la requête arrive donc aléatoirement depuis une des deux adresses IP du réseau

    par ailleurs, tous les postes d'un même sous-réseau privé partagent la même adresse IP publique, donc cette fois c'est X clients différents qui utilisent la même adresse.

    c'est du B-A-BA, mais les développeurs qui utilisent Intraweb sont souvent des gens qui méconnaissent ces notions que je me permets donc de souligner ici.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Membre habitué
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 466
    Points : 137
    Points
    137
    Par défaut
    Merci Mr Toth,
    C'est exactement ce que je cherchais

    Je serais encore à passer des heures à chercher ...

    PhilLu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/09/2009, 14h52
  2. Réponses: 2
    Dernier message: 24/06/2008, 13h40
  3. Réponses: 2
    Dernier message: 26/01/2008, 13h19
  4. connaitre les adresses IP des contacts sur msn
    Par starway dans le forum Messagerie instantanée
    Réponses: 6
    Dernier message: 28/10/2005, 21h39
  5. la liste des clients qui n'ont pas acheter aucun article ...
    Par TéBeSsI dans le forum Langage SQL
    Réponses: 6
    Dernier message: 13/02/2004, 15h57

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