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.
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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 115967
Url: https://administrator.de/contentid/115967
Ausgedruckt am: 22.11.2024 um 09:11 Uhr
5 Kommentare
Neuester Kommentar
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.
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.
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
und kann logischerweise deutlich "mehr" als nur Software über den Browser installieren.
Gruß
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ß