# PHP Benutzerdaten eines Windows-PC ermitteln



## Kalito (16. November 2012)

Hallo,

ich muss für ein Intranet ein neues Modul auf Basis von PHP schreiben. Ansich kein Problem, wenn da nicht die Authentifizierung wäre.

Kurz zu der Umgebung. Das Programm läuft auf einen linux-Server, die Clients sind aber PC's mit Windows XP und Vista. Es wird der IE in den Versionen 7 - 9 verwendet.

Wenn der Benutzer sich an seinem PC anmeldet, so kann er direkt, wenn er die Berechtigung besitzt, im Browser das Modul aufrufen und  darin arbeiten. Versucht er ohne die Authentifizierung die URL aufzurufen, so ist ihn der Zugang zu verwehren. Quasi ein SSO.

Aktuell ist noch nicht klar, ob die Authentifizierung am PC über einen LDAP-Server passiert. Ausgehend hiervon lassen sich aus meiner Sicht 2 Szenerien bilden:

1.: Ermittlung des Benutzernamen vom PC selber
2.: Ermittlung des Benutzernamen aus dem Cookie bzw. Session der LDAP

ZU 1.: Ich habe gefunden, das man theoretisch mit ActivX die Daten auslesen kann, aber bin nicht so recht schlau geworden wie ich das am einfachsten anstelle

zu 2.: Kann ich ein Cookie auslesen und den Benutzernamen ermitteln ohne mich nochmals mit der LDAP zu verbinden?


Gibt es sonst noch andere Methoden den Benutzernamen innerhalb des Netzwerkes zu ermitteln?

Danke und Gruß, Patrick


----------



## Alice (16. November 2012)

Mit PHP wird das nicht gehen.

Was spricht denn gegen ein Login? Haben die Computer eine feste IP-Adresse im Netzwerk? Vielleicht könntest du es dann so lösen.

Ansonsten musst du mal gucken ob man an solche Informationen nicht evtl. über JS ran kommt und an PHP weitergibt.


----------



## Kalito (16. November 2012)

Hallo Alice,
es darf kein weiteres Login geben. Wegen der festen IP-Adress muss ich mal schauen, aber tendenziell ist jau auch zu berücksichtigen, das sich einer über einen Laptop von zu hause einloggt.

Wegen JS schau ich mal.


----------



## Alice (16. November 2012)

Schau mal hier: 
http://www.tutorials.de/javascript-ajax/180105-windowsbenutzer-ermitteln.html
http://www.tutorials.de/php/279854-windows-benutzer-mit-php-auslesen.html#post1446806
http://sharepointcommunity.de/forums/t/16657.aspx
http://www.tutorials.de/javascript-...rnamen-und-den-computernamen-automatisch.html

Ich würde davon aber abraten.

*Nur eine Idee:*
Vielleicht könntest du ja ein kleines Programm für Windows schreiben wo man mit einem Klick auf "Authentifizieren" den PC "Authentifiziert".

Beispiel: CMD -> Hostname

*Eine weitere Idee:*
Jeder Mitarbeiter bekommt einen Authentifizierungsschlüssel (Beispiel: MA_Abt_Einkauf_23544534534) und muss diesen halt eingeben.

Diese Lösung wäre die einfachste.


----------



## saftmeister (16. November 2012)

Guggst du hier: http://adldap.sourceforge.net/

Edit: Das ist auch noch interessant: http://www.deadmarshes.com/blog/linux/ad_linux_php.html

Und das: http://blog.hallowelt.biz/wp-content/uploads/SSO_mit_mod_auth_kerb_v3.pdf


----------

