[PHP] OS bepalen remote server?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • sjaakie
  • Registratie: Oktober 2000
  • Niet online

sjaakie

Developer

Topicstarter
Ik ben bezig met een PHP applicatie die gaat authenticeren via LDAP. Voordat ik met LDAP ga connecten moet ik eerst weten wat voor OS er op de domeincontroller draait. Het gaat er dan vooral even om dat ik weet of het Win2000 of Win2003 is. Aangezien hij de mogelijkheid krijgt om bij meerdere domeincontrollers (met dus verschillende besturingssystemen) te authenticeren, lijkt me dit wel handig als het OS gewoon in de code kan opvragen.

Ik vroeg me even af of het ook mogelijk is om dit met PHP op te vragen, en zo ja hoe?

Als je enige gereedschap een hamer is, ziet elk probleem eruit als een spijker...


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

Kun je niet met cURL een request sturen en de headers bekijken? (en hopen dat het OS wordt prijsgegeven?)

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Bekijk phpinfo() eens of er iets tussen zit wat je kan gebruiken, bijvoorbeeld adhv de webserver, vaak krijg je daar al leuke informatie :)
$_SERVER["SERVER_SOFTWARE"]

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

Hmm collega vertelt me dat Windows dat meestal niet prijsgeeft, maar dat je wel aan de IIS versie kan zien of het om 2K of 2K3 gaat (IIS5 = 2K, IIS6 = 2K3).

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

overigens, zodra je weet dat je windows draait, kan je natuurlijk ook de uitvoer van "cmd /c ver" opvangen en parsen :)

Acties:
  • 0 Henk 'm!

  • sjaakie
  • Registratie: Oktober 2000
  • Niet online

sjaakie

Developer

Topicstarter
Bosmonster schreef op dinsdag 07 maart 2006 @ 12:16:
Hmm collega vertelt me dat Windows dat meestal niet prijsgeeft, maar dat je wel aan de IIS versie kan zien of het om 2K of 2K3 gaat (IIS5 = 2K, IIS6 = 2K3).
Tja dat is me toch niet helemaal bugproof genoeg, aangezien je natuurlijk IIS6 ook op 2K kan installeren. Het idee van de cURL ga ik nog even proberen...

Als je enige gereedschap een hamer is, ziet elk probleem eruit als een spijker...


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

Provision schreef op dinsdag 07 maart 2006 @ 12:22:
[...]


Tja dat is me toch niet helemaal bugproof genoeg, aangezien je natuurlijk IIS6 ook op 2K kan installeren. Het idee van de cURL ga ik nog even proberen...
Hij zegt dat IIS versies OS gebonden zijn en IIS6 dus niet op 2K kan en andersom :) Aardig bugproof lijkt me dan.

Het is overigens in combinatie met cURL, want het cURL requestje misbruik je slechts voor het ophalen van de headers. Uit die headers kun je de IIS versie halen en daarmee het OS.

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Provision schreef op dinsdag 07 maart 2006 @ 12:22:
[...]


Tja dat is me toch niet helemaal bugproof genoeg, aangezien je natuurlijk IIS6 ook op 2K kan installeren. Het idee van de cURL ga ik nog even proberen...
cURL gebruiken is natuurlijk bullshit, die info (als je die al krijgt) zijn ook gewoon binnen PHP beschikbaar.
Maar het is toch veel makkelijker om die "cmd /c ver" te executen? heb je de exacte versie van windows.

Acties:
  • 0 Henk 'm!

  • sjaakie
  • Registratie: Oktober 2000
  • Niet online

sjaakie

Developer

Topicstarter
Erkens schreef op dinsdag 07 maart 2006 @ 12:18:
overigens, zodra je weet dat je windows draait, kan je natuurlijk ook de uitvoer van "cmd /c ver" opvangen en parsen :)
Das natuurlijk alleen lokaal, ik neem aan dat ik niet zomaar cmd remote kan uitvoeren. Of ik moet daar weer een username en password meesturen. Dat wil ik dus eigenlijk voorkomen.

Als je enige gereedschap een hamer is, ziet elk probleem eruit als een spijker...


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

Erkens schreef op dinsdag 07 maart 2006 @ 12:23:
[...]

cURL gebruiken is natuurlijk bullshit, die info (als je die al krijgt) zijn ook gewoon binnen PHP beschikbaar.
Maar het is toch veel makkelijker om die "cmd /c ver" te executen? heb je de exacte versie van windows.
Misschien moet je de vraag nog eens lezen voor je iets 'bullshit' noemt ;)

Ik weet niet waar z'n systeem op draait, alleen dat ie van een extern systeem wil weten of het 2K of 2k3 is.

Als je geen toegang hebt tot die servers kun je alleen achterhalen via de headers, hence het cURL.

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Bosmonster schreef op dinsdag 07 maart 2006 @ 12:31:
[...]


Misschien moet je de vraag nog eens lezen voor je iets 'bullshit' noemt ;)

Ik weet niet waar z'n systeem op draait, alleen dat ie van een extern systeem wil weten of het 2K of 2k3 is.

Als je geen toegang hebt tot die servers kun je alleen achterhalen via de headers, hence het cURL.
Hij was dan ook niet erg duidelijk in zijn vraagstelling, nergens haal ik vandaan dat zijn PHP niet draait op het systeem waarvan hij het OS wilt weten ;)
Daarnaast is het nog maar de vraag of er wel een service is waar je eenvoudig het OS uit kan halen. Vaak heb je dus op dergelijke servers geen IIS ofzo draaien ;) als je dat wel hebt zou ik niet moeilijk doen en daar een script op gooien wat je kan aanroepen wat de versie geeft die je nodig hebt.

Acties:
  • 0 Henk 'm!

  • sjaakie
  • Registratie: Oktober 2000
  • Niet online

sjaakie

Developer

Topicstarter
Bosmonster schreef op dinsdag 07 maart 2006 @ 12:31:
[...]


Misschien moet je de vraag nog eens lezen voor je iets 'bullshit' noemt ;)

Ik weet niet waar z'n systeem op draait, alleen dat ie van een extern systeem wil weten of het 2K of 2k3 is.

Als je geen toegang hebt tot die servers kun je alleen achterhalen via de headers, hence het cURL.
Nog een nadeeltje: Er moet dan een webserver draaien op de DC

Als je enige gereedschap een hamer is, ziet elk probleem eruit als een spijker...


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

Provision schreef op dinsdag 07 maart 2006 @ 12:40:
[...]


Nog een nadeeltje: Er moet dan een webserver draaien op de DC
Yeah.. er zal iets moeten zijn dat kenbaar maakt wat ie is.

Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Als je het wilt weten omdat een bepaalde actie op de ene versie wel werkt maar op de andere niet, kun je natuurlijk ook gewoon die actie proberen uit te voeren en kijken of ie failed.

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Genoil schreef op dinsdag 07 maart 2006 @ 15:05:
Als je het wilt weten omdat een bepaalde actie op de ene versie wel werkt maar op de andere niet, kun je natuurlijk ook gewoon die actie proberen uit te voeren en kijken of ie failed.
tenzij die bepaalde actie iets anders doet bij de ene versie dan bij de andere, en dat is niet onmogelijk met Microsoft :)

Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Erkens schreef op dinsdag 07 maart 2006 @ 15:22:
[...]

tenzij die bepaalde actie iets anders doet bij de ene versie dan bij de andere, en dat is niet onmogelijk met Microsoft :)
nouja, zolang je het resultaat maar kunt voorspellen maakt dat natuurlijk niets uit.

Acties:
  • 0 Henk 'm!

  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
Waarom wil je de versie eigenlijk weten? Blijkbaar is het zo dat je een W2K server anders wilt benaderen dan een W2K3. Is dit omdat de ene methode niet werkt op de andere versie? Als dat zo is, dan kan je toch gewoon methode één proberen, werkt deze niet, dan probeer je methode twee.

I'm not a complete idiot - several parts are missing.

Pagina: 1