Die Funktion exec() der Nothacken
Mittels der PHP Funktion exec() kann man direkt von PHP aus auf das Betriebssystem des Webserver zugreifen und beliebige Unix Befehle ausführen.
Es gilt als unsicher mit exec() arbeiten, aber manchmal ist der direkte Gebrauch des Betriebssystems einfacher, als mit komplizierten PHP Skripten und Klassen zu arbeiten. Also nur mit Bedacht exec() einsetzen, aber wenn es sein muss, sollte man sich nicht unnötig ein schlechtes gewissen machen.
Der Einsatz von exec() ist angezeigt, wenn der User online ein Downloadpaket zusammenstellt und dieses vor dem Download ein einem Ordner zusammengestellt wird, und dann mittels .zip gepackt werden muss. exec(), wird auch im Zusammenhang mit der mächtigen Grafikapplikation ImageMagick gebraucht.
Ich persönlich setze Systemaufrufe in der Regel nicht in Frontend-Scripten ein. Zusammenpack-, Vorbereit- und Säuberungsgeschichten lasse ich nur von Jobs machen, deren Ausgabe & Eingabe der Benutzer so wenig wie möglich manipulieren kann.
Trotzdem brauchen die Jobs verschiedene Daten, die in der Regel vom Benutzer kommen. Hier muss man natürlich auch schon filtern. Dennoch halte ich dieses zweigleisige System für die beste Lösung – geht leider nicht immer.