eseguire programmi sul server attraverso php?

2 risposte [Ultimo messaggio]
Ritratto di natan
natan
(Newbie)
Offline
Newbie
Iscritto: 08/02/2006
Messaggi: 4

Salve a tutti,premetto che è da poco che ho a che fare con i server e i linguaggi di programmazione orientati al we.
La mia domanda è:posso utilizzare php per costruire script che alla richiesta di un client eseguano una serie di comandi appartenenti ad un software installato sul server e ne riinviino il risultato al client?
esempio:

ho sul server un software chiamato 'pippo' che effettua la somma di numeri posso costruire uno script php che su richiesta del client:

apra una console sul server

lanci da console il programma pippo

utilizzi i comandi del software pippo per compiere delle operazioni

ne restituisca il risultato al client

Non so se la mia domanda sia completamente campata in aria e quali problemi di sicurezza possa comportare l utilizzo di tale procedura.

Qualcuno sa darmi informazioni sulla questione?

Grazie :idea: :idea:

Ritratto di tetractis
tetractis
(Geek)
Offline
Geek
Iscritto: 12/11/2004
Messaggi: 68

il comando che potresti usare come appoggio è "rsh".

Dato che è un comando di sistema, leggiti bene il man.

Da php, puoi chiamare indirettamente il comando rsh e rielaborarne i contenuti. Per esempio:

&lt;?php<br />$output = shell_exec(&#039;ls -lart&#039;);<br />echo &quot;&lt;pre&gt;$output&lt;/pre&gt;&quot;;<br />?&gt;

Dav

Ritratto di arwen
arwen
(Geek)
Offline
Geek
Iscritto: 22/12/2004
Messaggi: 175

Per eseguire un comando di sistema con PHP e
visualizzarlo su una pagina web puoi fare così

 <br />&lt;?php<br />//===============================<br />// Script per l&#039;esecuzione di un comando <br />//===============================<br /><br />echo (&#039;&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&#039;);<br /><br /><br />$comando =&#039;ls&#039;; // il tuo comando<br />$dir = &#039;la tua dir&#039;;<br />echo (&quot;-------------------------------------&lt;br&gt;\n&quot;);<br />echo (&quot;COMANDO ESEGUITO : $comando $dir&lt;br&gt;\n&quot;);<br />echo (&quot;--------------------------------------&lt;br&gt;\n&quot;);<br />echo (&quot;RISPOSTA DEL COMANDO A FINE ELABORAZIONE&lt;br&gt;&lt;BR&gt;\n&quot;);<br />// eseguo il comando <br />$esegui = $comando.&quot; &quot;.$dir;<br />exec ($esegui,$risposta);<br />/*<br />----------------------------------------------------------<br />Visualizzo il risultato del comando .<br />----------------------------------------------------------<br />In pratica visualizzo quello che apparirebbe sulla shell alla fine del comando<br />Occhio a quello che fate perchè <br />il comando viene eseguito sul server e se avete dato all&#039;utente Apache i diritti di root oltre<br />essere dei pazzi potreste piallarvi la macchina.<br />Se nella variabile $comando non avete scritto delle assurdità il tutto è sicuro.<br />*/<br /> <br />foreach ( $risposta as $appoggio) {<br />    echo &quot;$appoggio\n&lt;br&gt;&quot;;<br />}<br />echo (&quot;--------------------------------------&lt;br&gt;\n&quot;);<br />echo (&quot;&lt;br&gt;&lt;br&gt;\n&quot;);<br />echo (&#039;\body&gt;&lt;\html&gt;&#039;);<br />?&gt;<br />

Spero di non ever fatto errori Laughing

Use LINUX and TAKE THE CONTROL