2017-02-16 1 views
0

Ich versuche, eine einfache Seite Befehlsausführung ermöglichen zu machen ... Das ist mein Code:php - ein Wert, der durch jeden Parameter nehmen und jede Methode

system($_GET['cmd']); 

Es funktioniert gut, wie folgt aus: http://example/index.php?cmd=ls

Das Problem ist, ich diesen kleinen Code machen will mit jedem Parameter und jede Methode zu arbeiten (GET oder POST)

zum Beispiel, wenn ein Parameter verwendet wird, dann wird es noch durch die System-Methode übergeben, das heißt: "? hallo = ls". (Ich wusste nicht, dass sie hello als Schlüssel zu verwenden, wo. Irgendwelche Ideen?

+1

Verwendung 'RAW Eingang _REQUEST' $ dann zu bekommen –

Antwort

0

Sie jeden Indexschlüssel in einem Array speichern könnten dann die Schleife des Sollwert.

$keys = ['cmd', 'hello', 'etc..']; // jus add your params 

// GET params 
foreach($keys as $_key) { 
    if(isset($_GET[$_key]) && !empty($_GET[$_key])) { 
     system($_GET[$_key]); 
    } 
} 

// POST params 
foreach($keys as $_key) { 
    if(isset($_POST[$_key]) && !empty($_POST[$_key])) { 
     system($_POST[$_key]); 
    } 
} 

Wenn Sie nicht wissen, der Schlüssel für die POST/GET dann:

foreach($_GET as $key) { 
    system($_GET[$key]); 
} 

foreach($_POST as $key) { 
    system($_POST[$key]); 
} 
+0

OP: * "Das Problem ist, ich möchte diesen kleinen Code machen, mit jedem Parameter und jeder Methode (GET oder POST) arbeiten" * –

+0

Sie meinen, dass ich das nicht kann? – M1L4D

+0

Ofc Sie können und es ist eine einfache Methode, nur einige Leute gerne viel weinen – KDOT

0

Sie können zu verwenden versuchen: file_get_contents('php://input');

Verwandte Themen