Windows Benutzernamen auslesen
Matze
- php
1 Der Martin
0 Vinzenz Mai1 dedlfix
Hallo,
ich möchte das beim Absenden eines Formulars auch der Windows Benutzernamen mit gesendet wird!
Der Rechnername würde auch gehen, sodass ich sehe von wem das Formular wirklich kommt! Ist für ein Intranet gedacht!
Dafür bräucht ich den Befehl!
Danke im vorraus
Gruß
Matze
Hallo Matze,
ich möchte das beim Absenden eines Formulars auch der Windows Benutzernamen mit gesendet wird!
Der Rechnername würde auch gehen, sodass ich sehe von wem das Formular wirklich kommt! Ist für ein Intranet gedacht!
dann bist du mit PHP möglicherweise im falschen Märchen. Da PHP auf dem Server läuft, kannst du damit nur das auswerten, was du vom Client überhaupt übermittelt bekommst. Der Windows-Rechnername oder gar der Name des angemeldeten Benutzers gehören nicht dazu.
Was du problemlos bekommst, ist die IP-Adresse des anfragenden Rechners. Wenn die IP-Adressen in eurem Netz fest vergeben werden, könntest du damit was anfangen. Die hättest du dann als $_SERVER['REMOTE_ADDR'] im Script zur Verfügung.
Alles andere bedeutet Konfigurationsaufwand bei den Client-PCs, bzw. sogar im verwendeten Browser. Du müsstest die verwendeten Browser so konfigurieren, dass sie in einem HTTP-Header eine Information mitsenden, die den Rechner eindeutig identifiziert, etwa ein bestimmter zusätzlicher String im User Agent.
Aber so richtig zuverlässig ist das wohl alles nicht.
So long,
Martin
PS: Es gibt außer dem Ausrufezeichen noch andere Möglichkeiten, einen Satz abzuschließen. ;-)
Hallo Matthias,
ich möchte das beim Absenden eines Formulars auch der Windows Benutzernamen mit gesendet wird!
Du könntest clientseitig mit VB-Script den Benutzernamen auslesen, siehe meine Archivpostings
</archiv/2006/5/t129968/#m840377>
</archiv/2006/5/t129298/#m835957>
und meine Testseite bei Funpic
http://vinzenzmai.vi.funpic.de/tmp/testuser.html
das geht allerdings nur unter speziellen Bedingungen im IE :-)
(Ich sollte meine Seite neu mit dem IE 7 testen *g*)
Der Rechnername würde auch gehen, sodass ich sehe von wem das Formular wirklich kommt! Ist für ein Intranet gedacht!
Wie Martin Dir bereits geschrieben hat, sollte Dir die IP-Adresse des Rechners zur Verfügung stehen. Über die IP-Adresse kannst Du in einem Intranet den Rechnernamen ermitteln, je nach Konfiguration und Berechtigungen kannst Du auch die am Rechner angemeldeten Benutzer ermitteln. Vor etlichen Jahren hatte ich mir dazu etwas in C programmiert. Heute solltest Du bequemer über die WMI-Schnittstelle an diese Informationen herankommen - wie das genau geht, ist sicherlich vom verwendeten Betriebssystem abhängig.
In PHP selbst fallen mir auf Anhieb nur die W32api-Funktionen ein, die Dir weiterhelfen könnten. Wenn Du einen IIS im Einsatz hast, kannst Du die Windows-Authentifizierung nutzen - und hättest somit die von Dir gewünschten Daten.
Freundliche Grüße
Vinzenz
echo $begrüßung;
ich möchte das beim Absenden eines Formulars auch der Windows Benutzernamen mit gesendet wird!
Der Rechnername würde auch gehen, sodass ich sehe von wem das Formular wirklich kommt! Ist für ein Intranet gedacht!
Beides steht dir zur Verfügung, wenn du NTLM als Benutzer-Authentifizierung aktivierst. Das geht mit dem IIS recht einfach (Directory Security -> Anonymous access and authentication control - Edit -> [x] Integrated Windows authentication). Der IE authentifiziert sich automatisch, ohne dass der Benutzer davon etwas mitbekommt. Der FF kann NTLM auch, fragt aber den Benutzer nach Windows-Anmeldenamen und -passwort. Den Rest findest du in $_SERVER. Ob/wie es mit dem Apachen geht, entzieht sich meiner Kenntnis.
echo "$verabschiedung $name";