
Auf UNIX/LINUX/BSD Systemen, auf denen die Mehrheit der Webserver laufen, gibt es jede Menge praktische und schnelle Kommandos. Genannt seien grep, sed, awk, sort und zahllose andere.
Es bietet sich daher an, auch in CGI-Skripten auf diese Kommandos zurückzugreifen. Das macht man normalerweise mit
echo exec('whoami');
oder mit
echo passthru('ls -l');
Wichtig ist immer wenn Daten von Benutzern in solchen Aufrufen verbeitet werden, diese Daten erst
durch escapeshellarg() beziehungsweise escapeshellcmd()
zu filtern.
In diesem Sinne Ihr Timm Reinisch$descriptorspec = array(0 => array("pipe", "r"), // stdin1 => array("pipe", "w"), // stdout);$process = proc_open("/usr/local/bin/beispiel",
$descriptorspec, $pipes);if (is_resource($process)) {// Auf stdin schreibenfwrite($pipes[0], "Beispieltext");// stdin schliessen = Eingabe beenden
fclose($pipes[0]);// Jetzt noch stdout in $result einlesenwhile(!feof($pipes[1])) {$result.=fgets($pipes[1], 1024);}// stdout schliessenfclose($pipes[1]);// Prozess beenden und Ergebniscode abfragen$return_value = proc_close($process);// Für Typo3 Plugins: Content-Variable schreiben$content = $result;}