dedlfix: Shell Befehl mit PHP

Beitrag lesen

Hi!

if(isset($_REQUEST['text'])){
  $text = $_REQUEST['text'];
  shell_exec('say "'.$text.'"');

Das Umkopieren von $_REQUEST['text'] nach $text ist unnötig. Es fehlt die Vorkehrung, dass eingegebene " nicht zum Ausbruch aus dem Text führen und man so die Kommandozeile beliebig um Befehle erweitern kann. (Siehe Kontextwechsel, speziell den Abschnitt über Shell-Kommandos in der Fortsetzung gegen Ende.)

Statt "shell_exec" hab ich auch schon "exec" und "system" versucht, half aber beides nichts...
exec('whoami') gibt aber das gewünschte ergebniss.

Dann wird zwar whoami nicht jedoch say im Pfad liegen. Beachte, dass der PATH für den Apachen und damit PHP und interaktive Shells unterschiedlich gesetzt sein kann. Verwende der Einfachheit halber den vollständigen Pfad zu say.

Lo!