PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP Windows-Account auslesen


blax
2006-07-11, 13:20:46
Hi,

ist es möglich über PHP den atkuell eingeloggten Windows-Account auszulesen?..Also, der Name würde genügen

lg Sevi

Al-CAlifAX
2006-07-11, 13:40:03
NEIN. Da PHP zum einen schonmal serverseitig fungiert und selbst mit java-applet wüsst ich net wie das gehen sollte.

DraconiX
2006-07-11, 15:19:16
Sooo nicht ganz richtig Califax - in einem lokalen Netzwerk mit einem lokalen Webserver ist dies möglich - IP via PHP Script auslesen und mit ping bzw. net view den Namen ausparsen.

Extern geht es, wie du bereits sagtest nicht, da die IP ja extern läuft.

Gast
2006-07-11, 15:35:47
DraconiX[/POST]']IP via PHP Script auslesen und mit ping bzw. net view den Namen ausparsen.Wenn du mir jetzt noch sagst, wie man mit ping oder net view den eingeloggten Windowsuser auslesen kann, wäre ich dir sehr dankbar.

darph
2006-07-11, 15:47:12
€dıt: Hıer stand Unsınn.

DraconiX
2006-07-11, 15:53:27
Hmm... achsooo der Username - ich dachte glatt an den Rechnernamen.. hmm, da bräuchte man nur ein Tool welches Commandline bezogen den Usernamen auslesen kann.

Übrigens den Rechnername kann man auch einfacher auslesen, mit PHP Boardmitteln:


<?PHP
$ip = $_SERVER['REMOTE_ADDR'];
echo "IP: ".$ip."<br>";
echo "Name: ". gethostbyaddr($ip);
?>


EDIT: Es geht doch, mit nem Linux / Appache Server - Link! (http://www.php-resource.de/forum/showthread.php?threadid=53738)

Al-CAlifAX
2006-07-11, 16:59:34
es ging hier aber net um die IP :P

Gast
2006-07-11, 17:28:02
viel spaß, das ist echt kompliziert das mit php zu machen, ich wollte es probieren. vielleicht solltest du das mit windows-technologien versuchen (asp oder asp.net) da sind das 500 zeilen weniger (nämlich nur 1)

DraconiX
2006-07-11, 18:12:59
@Califax :biggrin:

Hehe - nuja, bei mir auch nicht :rolleyes: Da gins um den Rechner- / Hostname. :tongue:

@Gast

Ja wunderbar, kannst du das Script mal schreiben?! Das es einen den Namen via Console ausgibt? Denn dann kann man es via PHP parsen. Was benötigt #net als Angaben für die Auflösung des Namen?

Gast
2006-07-12, 23:20:52
DraconiX[/POST]']
@Gast

Ja wunderbar, kannst du das Script mal schreiben?! Das es einen den Namen via Console ausgibt? Denn dann kann man es via PHP parsen. Was benötigt #net als Angaben für die Auflösung des Namen?

Nichts, ich glaube die voraussetzung ist lediglich, dass man sich authentifiziert hat (also anonyme Authentifizierung deaktivieren -> integrierte Windows Authentifizierung o.ä). Das Skript findest du wie Sand am Meer im Netz. Der Code dürfte in etwa so lauten:

response.write(user.identity.name.tostring()) 'asp.net /vb

mit asp ohne .net ist das auch nicht recht viel länger glaub ich

öhm wie oder warum willst du den namen auf der console ausgeben bei einer webanwendung? was ergibt das für einen sinn? Wenn du vorhast, das übers Internet öffentlich zu machen, dann funktioniert das sowieso nicht, kann ja auch gar nicht.
Dann schreib ein Skript, dass es extern Benutzern ermöglicht einen Windows-Account auf deinem Rechner anzulegen, damit sie sich in der Seite unter diesem Namen einloggen können. Dann kann man diesen Account auslesen.

DraconiX
2006-07-12, 23:45:59
Na ich wills ja nicht, Blax wollt es - und nunja - mit PHP pur ist dies ja nicht möglich - mit ASP scheinbar ziehmlich einfach. Aber wer scriptet schon ASP ;-) bzw. hat nen IIS *pfui* *g*. Mit Php kannst du aber Programme ausführen lassen und dessen Rückgabewerte parsen, sind auch nur 2 Zeilen. Mich interessierts ja nur wegen der Machbarkeit.

Gast
2006-07-13, 00:02:07
in php ist das schon machbar, bringt aber nicht wirklich viel freude das zu machen, wobei es natürlich bereits skripts gibt die genau das bewerkstelligen. einfach mal bei google suchen :tongue:

Gast
2006-07-13, 00:07:51
btw gings hier eigentlich nich darum den aktuellen windows-benutzeraccount (mit dem man eingelogged ist) auszulesen? das dürfte bedeutend einfacher sein..

wenns darum geht dann würde ich mal sagen einfach die systemvariable username ausgeben. das geht so:

http://de2.php.net/manual/de/function.system.php

system("echo %username%");

ungetestet.

DraconiX
2006-07-13, 00:12:14
Das gäbe den Username es eingelogten Users auf dem Server aus - nicht denen des Clients - Clientseitiges ausführen von Befehlen / oder Programmen mit executec() is ja nunmal nicht machbar, das ist ja das Problem.

Gast
2006-07-13, 00:18:57
hm, ka. vielleicht mit javascript, den ruf dafür hätte es ja :)

mithrandir
2006-07-13, 08:13:38
Machbar ist alles, mit WScript-Shell zum Beispiel, nur muss der Anwender dann alle Scheunentore offen stehen haben ; - )

function runShellCommandWithActiveX( command )
{
if ( command != "" )
{
var WshShell = new ActiveXObject( "WScript.Shell" );
var ret = WshShell.Run( command, 1, true );
}
}

PatkIllA
2006-07-13, 11:50:04
kannst du nicht erneut authentifizieren lassen?
Mit LDAP kann der Apache dann ja auf den gleichen Datenbestand zugreifen.
Mit PHP und dann noch browserunabhängig wüsste ich jedenfalls nichts.