• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Über PHP anderes PHP Skript auf anderem Server aufrufen

SpeedyX

Mitglied
Hi Leute,

habe schon wieder eine Frage. :D

Und zwar würde ich gerne via PHP ein auf einem anderen Server liegendes PHP Skript aufrufen, welches auch auf dem anderen Server ausgeführt werden muss. Das PHP Skript darf aber nur von diesem anderen PHP Skript aufgerufen werden und kein anderer darf es aufrufen können.
Das Problem dabei ist, dass ich auf dem Server, auf dem das PHP Skript liegt, welches das andere aufrufen soll auch einen PHP Proxy laufen habe, d.h. ich kann nicht einfach den Zugriff nur auf die eine Domain beschränken, da jeder ja sonst über den Proxy die Datei aufrufen könnte.

Wie kann ich das am besten realisieren?

LG

SpeedyX
 
Bau in das Script noch einen Token ein, quasi ein Passwort. Du rufst dann die PHP-Datei z.B. per POST auf und gibst den Token als POST-Parameter mit. Nur wenn dieser vorhanden ist und übereinstimmt, wird die Datei auch tatsächlich ausgeführt.
 
Stimmt, danke für die Hilfe!

EDIT: Mir ist jetzt wieder eingefallen, was mein Problem damit war. Wie rufe ich aus PHP ein anderes PHP Skript auf einem anderen Server auf?
Mit JavaScript würde ich das mit einem AJAX Call machen, aber ich habe keine Ahnung wie das in PHP gehen soll. Jetzt in meinem Fall sollte der Aufruf auch synchron sein, d.h. das Skript wartet, bis es ein Ergebnis des aufgeführten Skripts erhalten hat.

EDIT2: Hab auf stackoverflow was gefunden:
PHP:
$fields = array(
      'key' => $key,
      'light' => $light,
      'on_off' => $on_off
     );
     $postvars = http_build_query($fields);
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_POST, count($fields));
     curl_setopt($ch, CURLOPT_POSTFIELDS, $postvars);
     curl_exec($ch);
     curl_close($ch);
 
Zuletzt bearbeitet:
Oder noch einfacher mit file() und solltest du die Ausgabe des anderen PHP Script verarbeiten wollen kannst du einfach mit $response = file('http:// domain.de/datei.php') die Ausgabe weiterverarbeiten.
 
Oder noch einfacher mit file() und solltest du die Ausgabe des anderen PHP Script verarbeiten wollen kannst du einfach mit $response = file('http:// domain.de/datei.php') die Ausgabe weiterverarbeiten.

Aber POST Variablen kann ich über diese Variante nicht senden, oder? GET aber dennoch, wobei ich lieber POST verwenden würde.
 
Okay gut zu wissen, aber ich bleib bei file_get_content ;) auf zwei Millisekunden ist geschissen :p
 
Zurück
Oben