pantherclaw
Goto Top

Intranetwebseite - Identität eines Client-Rechners bestätigen

In unserem Intranet soll eine Webseite (aspx / c#) für unsere Mitarbeiter eingerichtet werden, über die sie sich selbst Software installieren können.

Die Frage ist jetzt wie ermittle ich ob ein anfragender Rechner auch der ist für den er sich ausgibt?
Ich kann zwar die Remote-Host Adresse via Servervariable auslesen, bekomme aber gegebenenfalls nur die Adresse des Proxyservers wenn einer verwendet wird.

Meine Idee war daher beim Anmelde-Formular entweder den Hostnamen (zum Abgleich mit DNS/DHCP) oder direkt die lokale IP-Adresse des Client-Rechners zu ermitteln und mitzusenden, so dass ein Vergleich mit den entsprechenden Servervariablen stattfinden kann. Theortisch brauche ich also ein Skript was auf dem Client-Rechner abläuft, also beispielsweise JavaScript. Nach stundenlanger Suche habe ich dazu keine funktionstüchtige Lösung gefunden.

Kennt irgendwer eine Möglichkeit womit ich entweder den Hostnamen oder die (reale) IP-Adresse des Rechners herausbekomme, der versucht sich an der Webseite anzumelden?
Bzw. ist es möglich zu erkennen ob ein Proxy verwendet wird und welche IP eigentlich hinter der Anfrage steckt?


Verwendet wird für die Webseiten aspx mit Programmiersprache c# (Visual Studio 2008).
Als Clientrechner verwendet werden ausschließlich Windows XP Rechner mit nur einer Netzwerkverbindung.

Content-ID: 115967

Url: https://administrator.de/contentid/115967

Ausgedruckt am: 22.11.2024 um 09:11 Uhr

priez
priez 13.05.2009 um 13:01:46 Uhr
Goto Top
Hi,

ich habe nach "javascript hostname/ip" gegoogelt und ne Menge Treffer gehabt. Und wie du eingaben in ein aspx durch jscript machst, solltest du bestimmt können.

Viel Erfolg.

René
pantherclaw
pantherclaw 13.05.2009 um 13:46:19 Uhr
Goto Top
also ich hab mir die Suchergebnisse nochmal angesehen ... aber leider hat es keinen Erfolg gebracht. Ich kann zwar sage und schreibe die lokale IP ausgeben ... aber bekomme damit immer nur die loopback adresse.

sprich localhost bzw. 127.0.0.1 und mit den Infos kann ich nix anfangen ...
RoterFruchtZwerg
RoterFruchtZwerg 13.05.2009 um 14:44:16 Uhr
Goto Top
Moin,
also der Proxy steht ja unter deiner Gewalt, also wird er auch sicher einen Header wie "X-Forwarded-For" oder "Client-Ip" mitsenden, der die IP des Hosts enthält.
Aber wofür musst du das testen? Sollte der Dienst nicht eh nur aus dem Intranet erreichbar sein?

Ansonsten gäbe es noch die Methode über Client-Zertifikate. Der Client kann sich mit einem Zertifikat beim Server identifizieren, dann ist es egal ob es über den Proxy passiert oder direkt, und im Vergleich zu der anderen Methode ist es auch sicher.
pantherclaw
pantherclaw 13.05.2009 um 16:18:10 Uhr
Goto Top
proxy steht leider nicht unter meiner gewalt ... andere Abteilung sag ich nur ...
den entsprechenden Header auslesen wäre aber auf jeden Fall schon mal eine Idee auf die ich noch nicht gekommen bin, thx face-smile

jo, soll er ... aber wir haben Mitarbeiter die sich von zu Hause per VPN am intranet mit ihrem Rechner anmelden. Die dürfen dann natürlich nicht auf diesen Dienst zugreifen können, daher ist ein Test erforderlich. Zudem soll so gewährleistet sein, dass niemand diesen Dienst missbraucht indem er beispielsweise Adressen manipuliert.

Auf jeden Fall ist es eine Vorgabe, dass jeder sich anmeldene Rechner auch überprüft wird.

Zertifikate waren bis dato noch nicht im Gespräch und werden aller Wahrscheinlichkeit auch nicht zum Einsatz kommen. Aber das kann ich erst zur nächsten Besprechung einwerfen.

trotzdem thx für deine Vorschläge :D
60730
60730 13.05.2009 um 18:45:51 Uhr
Goto Top
Servus,

habt Ihr euch das ganz wirklich "richtig" überlegt?

Wir haben so ein System und das ist schon wirklich "nett"

- nur haben wir das System gekauft, ich vermute mal - das war deutlich günstiger und öfters im Einsatz (bugfreier), als das, was Ihr vorhabt.

das nennt sich
CA Unicenter DSM Software Delivery
(oder so ähnlich, jedes neue Release hat einen anderen Namen)
und kann logischerweise deutlich "mehr" als nur Software über den Browser installieren.

Gruß