Autor | Zpráva | ||
---|---|---|---|
georgex Profil |
#1 · Zasláno: 24. 2. 2010, 10:25:05 · Upravil/a: georgex
Dobrý den, pokoušel jsem se na windows 2003 server (IIS a v něm PHP 5.2.12 přes FastCGI 1.5) spustit příkaz ping.
Upravil jsem práva na spuštění C:\WINDOWS\system32\ping.exe. Pro uživatele IUSR* jsem nastavil full control. Authentication method používám anonymní přístup pod defaultně nastaveným uživatelem IUSR*. Ve vlastnostech Web sites mám v záložce domovský adresář nastaveny práva na spustění scripts and executables. Funkci mám napsanou: <?php $order = "C:\WINDOWS\system32\ping.exe -n 1 -w 1000 ".$zaznam["ip"]; exec($order, $output, $retval); ?> var_dump($output) mi píše array(0) { } Myslím si, že je asi někde chyba s právy pro přístup k ping.exe. Na Apachi v Ubuntu to funguje bez problému. Děkuji předem za pomoc. |
||
Kajman_ Profil * |
#2 · Zasláno: 24. 2. 2010, 10:51:49
Není nutné ošetřit zpětná lomítka? Tedy je buď zdvojit nebo ten řetězec dát do jednoduchých uvozovek (apostrofů)?.
|
||
AM_ Profil |
#3 · Zasláno: 24. 2. 2010, 10:58:24
Myslím, že vůbec není nutné psát celou cestu k pingu, exec pokud vím spouští příkaz přes shell, takže stačí "ping parametry"
|
||
Davex Profil |
#4 · Zasláno: 24. 2. 2010, 21:17:27
georgex:
Pokud je na serveru nainstalován IIS Lockdown, tak je pravděpodobně anonymním uživatelům zakázán přístup do systémových adresářů a spouštění externích programů. Kromě povolení spuštění programu ping.exe musí být povoleno ještě spuštění cmd.exe. Nevypíšou se nějaké chyby při zapnutém vypisování chyb? error_reporting(E_ALL); |
||
Časová prodleva: 14 let
|
0