Es ist wichtig das clientseitiger JavaScript Code nicht auf andere Domains bzw. Server zugreifen kann. Dies um Cross Site Scripting Angriffe auf den Client zu vermeiden. Manchmal möchte, oder muss, man aber trotzdem auf Ressourcen zugreifen die sich auf einem anderen Server befinden.
Hierzu eignet sich die php libcurl, welche allen unseren Webhosting Kunden zur Verfügung steht, bestens. Mit wenigen kniffen kann man sich den Browserinhalt von einem anderen Webserver ziehen und diesen weiterverarbeiten. Als einfaches Beispiel senden wir ein paar GET Variablen an einen Webserver und geben die daraus resultierende Antwort an den Client Browser weiter.
<?php
// erzeuge einen neuen cURL-Handle
$ch = curl_init();
// setze die URL und andere Optionen
curl_setopt($ch, CURLOPT_URL, “http://www.domain.tld/verzeichnis/?”.$_SERVER['QUERY_STRING']);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// führe die Aktion aus und gebe die Daten an $result weiter
$result = curl_exec($ch);
// schließe den cURL-Handle und gebe die Systemresourcen frei
curl_close($ch);
// Das Resultat des cURL Handels an den Browser zurückgeben
echo $result;
?>
Auf dieses Script kann dann mittels dem XMLHttpRequest Object wie gewohnt zugegriffen werden. Bitte nicht vergessen, greift man so auf eine fremde/n Website/Webserver zu und zeigt diese auf der eigenen Website an, sollte man umbedingt die Urheberrechte im Auge behalten und die Nutzung der Daten erfragen – ansonsten begeht man eine Urheberrechtsverletzung welche durchaus rechtliche Konsequenzen haben kann.
Weitere Informationen zur Verwendug in PHP findet man im Online PHP Manual: http://ch.php.net/curl