2009-06-25 6 views
2

Je crée un EventLog qui enregistrera le journal des transactions sur mon site web. Les détails du journal incluront l'adresse IP publique à partir de laquelle la transaction a été organisée ainsi que l'adresse IP locale (sous l'adresse IP publique).Comment obtenir un identifiant client unique sur le serveur?

J'ai trouvé des façons d'obtenir l'adresse IP publique, mais je suis incapable de trouver l'adresse IP locale ou l'adresse IP de la machine à partir de laquelle la transaction est effectuée.

Un grand nombre d'entrées seront effectuées par des personnes utilisant la même connexion. c'est-à-dire 5 ou 10 ordinateurs connectés à la même connexion.

Je dois trouver l'adresse IP de la machine (192.168.0.1 pour 1 système 192.168.0.2 pour la prochaine) des machines à fabriquer les transactions et aussi le nom de l'ordinateur ...

Est-ce possible

Répondre

4

Pour clarifier, vous voulez l'adresse IP privée d'un client lorsque le client se connecte via un routeur? Alors non, il n'y a pas moyen de faire ça.

Faites-vous cela uniquement pour distinguer les différents utilisateurs? Pouvez-vous utiliser une autre méthode, comme les cookies, par exemple?

1

Si votre client se connecte derrière un NAT ou un pare-feu, vous ne pouvez pas obtenir de manière fiable son adresse ou son nom d'ordinateur. Si vous avez besoin de ces informations, votre protocole doit les demander dans le cadre de la demande et le client doit les fournir volontairement. Il n'y a aucun moyen de valider les informations fournies (à moins de déployer une infrastructure cryptographique fiable, c'est-à-dire que vous établissez une forte confiance dans les machines clientes elles-mêmes).

1

Malheureusement, la réponse est non. Aucun navigateur moderne ne présentera cette adresse privée dans la transaction HTTP. Le routeur du client qui exécute le NAT (Network Address Translation) n'offre que l'adresse IP du client public lors de la connexion IP.

0

Eh bien oui, nous faisons cela juste pour différencier entre les ordinateurs pour savoir qui fait les entrées ...

Puisque vous les gars disent que tracer la propriété intellectuelle ne sont pas très fiables sont là toutes les autres méthodes que je peux utiliser pour faire la même chose

J'ai juste besoin de savoir à partir de quel ordinateur chaque entrée est entrée.

Toutes les suggestions sont les bienvenues

+0

Vous auriez dû modifier votre question initiale pour l'ajouter. Ce n'est pas un forum de discussion, et ce n'est pas une réponse. C'est censé être une réponse, mais cela ne répond pas à votre question. –

0

Vous faites la fausse hypothèse qu'il existe un moyen de savoir à partir de quel ordinateur chaque entrée est saisie. Personne n'a le devoir de s'assurer que cette information existe. Souvent, cela n'existera pas.

La seule façon de vous assurer que chaque ordinateur est identifié de façon unique est de l'identifier. Vous pouvez le faire via des certificats clients, par exemple. En général, si vous voulez que chaque ordinateur possède un identifiant unique, vous devez créer un identifiant unique, puis le placer sur cet ordinateur. Vous avez ensuite besoin de l'ordinateur pour renvoyer cet identifiant.

Il n'existe aucun autre identifiant unique pour les ordinateurs.

0

Ceci est probablement bien au-delà de ce que vous cherchez, mais il fait une lecture intéressante: Remote physical device fingerprinting

Cela vous permet d'identifier de façon unique un dispositif physique à distance sans sa coopération, à travers NAT ou tout ce que vous pouvez imaginer .

Questions connexes