Heim > Artikel > Backend-Entwicklung > Werfen wir einen Blick auf die gängigen Befehlsausführungsfunktionen in PHP
Dieser Artikel vermittelt Ihnen relevantes Wissen über PHP. Er stellt hauptsächlich einige gängige Befehlsausführungsfunktionen zum Ausführen von Betriebssystembefehlen vor. Ich hoffe, dass er für Sie nützlich sein wird. helfen.
Empfohlene Studie: „PHP-Video-Tutorial“
Die Befehlsausführungsfunktion wird häufig in Verbindung mit Schwachstellen bei der Codeausführung verwendet, um Betriebssystembefehle auszuführen, um Angriffe zu starten Teilen Sie kurz einige häufig verwendete Funktionen mit.
system()-Funktion kann Systembefehle ausführen und die Ergebnisse der Befehlsausführung direkt an die Schnittstelle ausgeben direkt im Parameter auszuführen.
system('ls');
exec() Funktion kann Systembefehle ausführen, aber sie gibt die Ergebnisse nicht direkt aus, sondern speichert die Ausführungsergebnisse in einem Array
exec( 'ls' , $result ) ; raus raus raus raus raus raus raus raus raus Die Funktion „shell_exec()“ kann Systembefehle ausführen, gibt die Ausführungsergebnisse jedoch nicht direkt aus, sondern gibt eine Variable vom Typ „String“ zurück Um die Ausführungsergebnisse der Systembefehle zu speichern, übergeben Sie einfach die auszuführenden Systembefehle in den Parametern
echo shell_exec('ls');
passthru();
passthru() kann Systembefehle ausführen und die Ausführungsergebnisse an die ausgeben Im Gegensatz zur Funktion system() unterstützt sie Binärdaten und wird eher für Dateien und Bilder verwendet. Sie können den Systembefehl vom Typ String direkt im Parameter popen() übergeben Die Funktionpopen() kann den Systembefehl ausführen, gibt jedoch nicht das Ausführungsergebnis aus, sondern gibt eine Ressourcentypvariable zum Speichern des Ausführungsergebnisses des Systembefehls zurück. Sie muss mit der Funktion fread() verwendet werden Lesen Sie das Ausführungsergebnis des Befehls.
$result = popen('ls', 'r');Echo Fread ($ result, 100); 2: int-Typ, n Bytes lesen
Rückgabewert: String-Typ, Dateiinhalt lesenpassthru('ls');Backticks``Backticks können ausgeführt werden Systembefehle, aber die Ergebnisse werden nicht ausgegeben. Stattdessen wird eine Variable vom Typ String zurückgegeben, die zum Speichern der Ausführungsergebnisse von Systembefehlen verwendet wird. Sie kann allein oder in Verbindung mit anderen Befehlsausführungsfunktionen verwendet werden, um die Filterbedingungen zu umgehen in den Parametern
echo fread(popen('ls','r'),100);
Das obige ist der detaillierte Inhalt vonWerfen wir einen Blick auf die gängigen Befehlsausführungsfunktionen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!