Ein PHP-Proxy Script, z.B. für Debugging.
Nehmen wir an, wir haben ein Formular, welches Daten an ein PHP-Script sendet. Das ganze via POST. Für bestimmte Zwecke kann es sinnvoll sein, wenn wir uns dazwischen schalten. Dies würde uns beispielsweise erlauben, die Daten auszuwerten, in eine Datenbank zu speichern und anschließend das ursprüngliche Script aufzurufen.
Das Script
Hier ein Beispiel für ein solches Script:
<?php // Set the URL of the destination PHP script $destination_url = "https://example.com/destination_script.php"; // Check if any POST variables were sent if ($_SERVER["REQUEST_METHOD"] == "POST") { // Get all POST variables $post_variables = $_POST; // Create a new cURL resource $curl = curl_init(); // Set the cURL options curl_setopt($curl, CURLOPT_URL, $destination_url); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $post_variables); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // Execute the cURL request $response = curl_exec($curl); // Close the cURL resource curl_close($curl); // Output the response from the destination script echo $response; } else { // No POST variables were sent, output an error message echo "Error: No POST variables were sent."; } ?>
Funktionsweise und Verwendung
In diesem Skript wird zunächst die URL des Ziel-PHP-Skripts festgelegt. Dann wird mit $_SERVER[“REQUEST_METHOD”] geprüft, ob POST-Variablen gesendet wurden. Wenn dies der Fall ist, wird “POST” angegeben. Wenn POST-Variablen gesendet wurden, verwenden wir cURL, um eine POST-Anfrage an das Zielskript zu senden, wobei die Option CURLOPT_POSTFIELDS auf das Array $post_variables gesetzt wird, das alle POST-Variablen enthält. Außerdem setzen wir CURLOPT_RETURNTRANSFER auf true, um die Antwort des Zielskripts zurückzugeben. Schließlich geben wir die Antwort des Zielskripts aus.
Beachten Sie, dass Sie die cURL-Optionen je nach den spezifischen Anforderungen Ihrer Anwendung möglicherweise ändern müssen.