2010-09-23 1 views
5

Mal sehen, ob ich mich klar mache. Ich habe eine alte Reihe von Skripten, die gut auf PHP4 laufen und besser nicht thouch em. Ich muss eine neue Funktionalität integrieren, die auf PHP5 implementiert ist, ich muss nur ein Skript auf der neuen App aus dem alten aufrufen.PHP ruft ein anderes Skript auf, aber durch http (isoliert sie)

Um nicht die alten Sachen zu berühren Ich denke, irgendwie "kin of remote" rufen Sie die neue, müssen nur die $ _REQUEST [] Daten übergeben. Ich kann es nicht einschließen, da das eine Migration auf eine andere PHP-Version erfordern würde (und einige Namen kollidieren). Ich brauche keine Ausgabe von der neuen.

Was wäre der sauberere Weg, um das Script zu "rufen", Parameter zu übergeben, fopen ("http://theserver.com/thescript.php" ....) und dann alle notwendigen Header übergeben, um die Parameter zu übergeben? oder gibt es etwas direkteres?

Danke!

Antwort

3

Wenn Sie POST-Daten übergeben müssen, können Sie cURL; Andernfalls können Sie einfach file_get_contents('http://example.com/yourscript.php?param1=x&param2=y&param3=...'); tun und die HTTP wrapper wird die Anfrage für Sie erledigen (einfachste Möglichkeit).

+0

Großartig, wirklich einfach. Ich werde über mögliche Sicherheitsprobleme nachdenken müssen, aber ich denke, dass es in diesem speziellen Fall nicht zu komplex sein wird. Vielen Dank! – Joan

3

Sie werden sich damit Alpträume machen.

Aber wenn Sie es wirklich tun müssen, werden Sie sich nicht auf fopen verlassen können. Ich würde empfehlen, cURL zu verwenden, wie Piskvor vorschlägt.

Aber bitte stellen Sie sicher, dass Sie alle Daten validieren und entweichen, die Sie richtig herumschieben, oder Sie sind in einer Welt der Verletzung - die Tatsache, dass Sie eine cURL Anfrage an den anderen Teil von machen Das System bedeutet, dass theoretisch jeder genau dasselbe tun kann.

Dies ist definitiv keine langfristige Lösung, ich würde Ihnen empfehlen, die alten Teile als Priorität neu zu schreiben.

+0

Sie haben Recht mit der Sicherheitsbedenken ... Ich denke, ich werde tun, was Piskvor empfiehlt, die Anfrage als Parameter zu übergeben, aber zuerst werde ich die möglichen Sicherheitsprobleme studieren. Vielen Dank! – Joan

0

Nachdem ich überlegt habe, was Sie in vorherigen Antworten vorgeschlagen haben und über Sicherheit nachgedacht habe, dachte ich: Wenn beide Skripte auf demselben Server sind, sollte der "Angerufene" auf derselben IP sein wie der Aufrufer . Ist das eine gute Idee?

Verwandte Themen