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

PostgreSQL Discussion :

Comment récupérer l'IP du client à l'origine d'une requete ?


Sujet :

PostgreSQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Points : 119
    Points
    119
    Par défaut Comment récupérer l'IP du client à l'origine d'une requete ?
    Bonjour,

    est-il possible de récupérer l'adresse IP du client qui envoit une requête ? J'aimerai pouvoir mettre à jour un champ en fonction de cela, via un trigger...

    S'il y a de la doc à lire à ce sujet, je suis preneur...

    Bonne journée

  2. #2
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Bonjour
    Lancez sur votre moteur une recherche de la chaîne REMOTE_ADDR
    En interne il faut ajout une fonction
    (CREATE FUNCTION ........LANGAGE '?' pour obtenir le resultat ,cela depend
    de votre interface. Il doit y avoir probablement une fonction native qui existe dans PG ???
    Bon courage

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Points : 119
    Points
    119
    Par défaut
    Merci, en effet il y a la fonction.

    A tout hasard, à partir de Pgsql, est-il possible de récupérer l'adresse MAC d'un poste via son adresse IP ?

    Pour l'instant, j'essaie de faire une procédure en perl. Mais, déjà, je n'y arrive pas (alors qu'en pure perl, ça fonctionne), et il faut utiliser perl untrusted, ce qui est un peu un inconvénient je trouve.

    Dans Perl, j'exécute la commande DOS "nbtstat -a [ip]" et je récupère sa sortie... sauf qu'une fois cela mis dans la procédure sous pgsql, ça ne marche pas (je ne récupère pas la sortie).


  4. #4
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Je ne suis initié au Perl mais ...

    http://www.google.com/codesearch
    Saisissez ces chaînes par exemple
    netstat perl
    arp perl

    il y en a une palanque ...
    Bon courage ...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Points : 119
    Points
    119
    Par défaut
    Merci pour l'adresse google, je n'avais pas pensé à chercher ici.

    Cependant, je n'y arrive toujours pas. Il semble qu'il y est de sérieuses limitations, même en utilisant pl/perlu (Perl Untrusted).

    J'ai essayé 2 méthodes:

    - appeler nbtstat -a [ip] via la fonction trigger en perl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my @sortie = `nbtstat -a $ip`
    - créer un script Perl stocké sur le disque, avec une fonction qui renvoit l'adresse mac à partir d'une adresse IP (même méthode que ci-dessus). Depuis la fonction trigger en perl, j'utilise ce script comme module:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    require 'D:\ident.pl';
    my $mac = &resoudre_mac('192.168.0.16');
    Ca ne fait aucune erreur, mais le require ne fonctionne pas.
    Pour le tester, le script ident.pl crée un fichier log quand on l'invoque (avec le require). Il ne fait rien si je l'invoque depuis ma fonction trigger...


    Si y a des connaisseurs en la matière ...

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/07/2007, 18h28
  2. Réponses: 3
    Dernier message: 07/06/2007, 19h47
  3. Réponses: 3
    Dernier message: 28/01/2007, 19h25
  4. Réponses: 4
    Dernier message: 13/09/2006, 16h02
  5. Réponses: 1
    Dernier message: 31/07/2006, 13h54

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