Heim  >  Artikel  >  Backend-Entwicklung  >  Werfen wir einen Blick auf die gängigen Befehlsausführungsfunktionen in PHP

Werfen wir einen Blick auf die gängigen Befehlsausführungsfunktionen in PHP

WBOY
WBOYnach vorne
2022-05-20 11:56:123636Durchsuche

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.

Werfen wir einen Blick auf die gängigen Befehlsausführungsfunktionen in PHP

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();

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();

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 Funktion

popen() 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');

Parameter 1: String-Typ Die Befehle, die ausgeführt werden müssen 数 Parameter 2: String-Typ, Modus

Rückgabewert: Ressource Typ, das Ergebnis der Befehlsausführung

Echo Fread ($ result, 100); 2: int-Typ, n Bytes lesen

      Rückgabewert: String-Typ, Dateiinhalt lesen

passthru('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);




Empfohlenes Lernen: „
PHP-Video-Tutorial

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen