Resp.Code 403 "Forbidden" mit PHP und Snoopy

Hallo!

Ich hab folgendes Problem und bitte um eure Hilfe:

Ich lese von meiner PRIVATEN Homepage mit PHP 5.2.5 und Snoopy 1.2.3 unter Einsatz eines Cron-Jobs regelmässig Ergebnisse, Torschützen etc. einer Fussball-Homepage aus, und verarbeite diese Daten dann auf meiner Homepage weiter.

Dies hat bis vor kurzem immer wunderbar geklappt, nur jetzt bekomme ich immer den Response-Code: HTTP/1.1 403 Forbidden. Wenn ich die exakt selbe Seite in meinem Browser aufrufe, erhalte ich die Daten wunderbar angezeigt!

Jetzt stellen sich mir folgende Fragen:

- Woran kann diese Fussball-Homepage erkennen, ob der Aufruf über mein PHP-Script oder über (m)einen Browser erfolgt? Ich vermute mal anhand der IP-Adresse oder dem aufrufenden Host?

- Kann ich in meinem PHP-Script bzw. im Snoopy etwas "drehen" (HTTP-Header?), sodass ich wieder an die Daten komme?

Im Voraus schon mal vielen Dank für eure Hilfe!
 
Das auslesen von Daten für fremde (hier deine) Zwecke missfällt manchen Webmastern anscheinend. Mit ziemlicher Sicherheit ist man auf dich aufmerksam geworden und hat deine Server-IP gesperrt. Umgehen kannst du das nur, indem du die IP deines Servers erneuerst.

Natürlich ist die Modifikation der aufrufenden IP möglich, doch würde der antwortende Server an deine (fake)-IP zurücksenden und davon hättest du wenig.
 
die möglichkeit mit der ip könntest du testen, indem du das script einfach mal auf nem anderen server installierst und testest. dafür könntest du z.b. mal kurzfristig einen xampp bei dir installieren. für einen kurzen test sollte dies ausreichen (und falls du den zum testen weiternutzen willst, dann lies dir hier im forum noch so die anderen beiträge zum xampp durch, um über die dann möglichen risiken bescheid zu wissen).

möglich wäre aber genauso, dass einfach nur die browserkennung überprüft wird. unter http://209.85.173.104/search?q=cach...ent&hl=de&ct=clnk&cd=3&gl=us&client=firefox-a (sorry, die seite scheint nur noch im google-cache zu existieren) ist eine kurze anleitung, wie du das testen kannst.

ansonsten musst du aufpassen, dass die dich nicht abmahnen, wenn du deren seiten nach informationen scannst, da dies möglicherweise bereits eine urheberrechtsverletzung darstellen könnte, da bin ich mir nicht ganz sicher
 
Schon mal "Danke" für eure Infos!

Ergänzend: Ich frage die Daten "nur" regelmässig per Cronjob ab die ich bereits dort selbst erfasst hab (bzw. erfassen musste), um sie auf "meiner" Vereins-Homepage nicht nochmals eingeben zu müssen.

Mittlerweile hab ich noch was Interessantes herausgefunden: Es wird anscheinend mein kompletter Webprovider (all-inkl.com) geblockt! Ich hab dort mehrere Homepages liegen, und bei allen 8 Sites mit jeweils anderer Server IP, erscheint der ominöse Fehler! Bei allen 8 Sites beginnt die Server-IP mit 85.13.xxx.xxx. Bei 3 Homepages eines anderen Webproviders erscheint der Fehler NICHT!

@Lük: Kannst Du mir bitte einen Link nennen, wie ich mit PHP die aufrufende IP modifizieren kann?

@lightsaver: Ein Aufruf von meinem lokal installierten XAMPP bringt keinen Fehler!
Eine Frage bzgl. der von Dir erwähnten Browserkennung: Wenn aufgrund dieser geblockt wird, heisst das theoretisch dass alle User mit der gleichen Browser-Version wie ich auch geblockt werden würden? Wie siehts da mit einem automatisierten Aufruf mittels Cronjob aus, welche Browserkennung wird da mitgeschickt?

Vielen Dank für eure Hilfe!
 
Original von tomfly
@Lük: Kannst Du mir bitte einen Link nennen, wie ich mit PHP die aufrufende IP modifizieren kann?

Ich habe nichts von PHP gesagt, was aber auch nichts daran ändert das es möglich ist: http://de.wikipedia.org/wiki/IP-Spoofing
Wobei bei IP-Spoofing auch das empfangen der Daten über die falsche IP praktiziert wird.

Naja, mir scheint das ganze doch etwas OT, desswegen verweise ich mal auf IP Spoofing

PS: @lightsaver: Vielen Dank für den Link, der dürfte auch für mich interessant sein ;) (cURL lässt sich nicht weiterleiten)
 
Meistens haben doch solche Seiten einen RSS-Feed, gibts das nicht?

Anonymisierung per IP Spoofing ( im Sinne von Versenden mit gefälschen IP-Adressen ) ist Quatsch, dann wie soll eine Antwort an deine IP-Adresse gesendet werden, wenn die nirgens hinterlegt ist? Die Übernahme einer bestehenden Verbindung ist dazu im HTTP-Bereich doch relativ sinnlos.
Eine andere Möglichkeit wäre, das ganze über andere Websites laufen zu lassen, beispielsweise speziellen Seiten auf Freehostern. Du kontaktierst die Seiten auf den anderen Hostern, diese wiederum kontaktieren den Server, von dem die Daten geholt werden und liefern diese an dich zurück. Das machst du mit zig verschiedenen Hostern, wobei du bei jeder Anfrage einen anderen Hoster verwendest. Je nach Anzahl deiner "Proxys" und Zeitpunkt der Zugriffe ist diese Art mehr oder weniger schwer zu erkennen.
Ob illegal oder nicht ist eine andere Frage. Ich bin der Meinung, dass es nicht illegal ist, da du hierbei keinen Schutz umgehst, bzw er dir nicht explizit verbietet, die Informationen zu nutzen. Oder wer sagt, dass er die Range wegen dir gesperrt hat?
 
@fetzer

Nein, RSS-Feed hat diese Seite leider nicht. Aber Deine Idee mit dem Freehoster gefällt mir sehr gut!

Ich hab mich deshalb testweise gleich bei einem Freehoster angemeldet (www.byethost.com), schaffe es aber nicht (oder bin einfach zu blöd) den 403'er-Fehler wegzubekommen. Im Snoopy kann ich verschiedene Variablen einstellen, hab schon jede mögliche und unmögliche Variante ausprobiert - leider alle erfolglos.

Nachfolgend eine Auflistung der user definable vars:

var $host = ""; // host name we are connecting to
var $port = 80; // port we are connecting to
var $proxy_host = ""; // proxy host to use
var $proxy_port = ""; // proxy port to use
var $proxy_user = ""; // proxy user to use
var $proxy_pass = ""; // proxy password to use

var $agent = "Snoopy v1.2.3"; // agent we masquerade as
var $referer = ""; // referer info to pass
var $cookies = array(); // array of cookies to pass
// $cookies["username"]="joe";
var $rawheaders = array(); // array of raw headers to send
// $rawheaders["Content-type"]="text/html";

var $maxredirs = 5; // http redirection depth maximum. 0 = disallow
var $lastredirectaddr = ""; // contains address of last redirected address
var $offsiteok = true; // allows redirection off-site
var $maxframes = 0; // frame content depth maximum. 0 = disallow
var $expandlinks = true; // expand links to fully qualified URLs.
// this only applies to fetchlinks()
// submitlinks(), and submittext()
var $passcookies = true; // pass set cookies back through redirects
// NOTE: this currently does not respect
// dates, domains or paths.

var $user = ""; // user for http authentication
var $pass = ""; // password for http authentication

Kannst Du mir bitte helfen bzw. Tipps geben was ich wo einstellen soll (bin diesbezüglich leider ein Newbie). Ich hab natürlich von byethost.com die Website-URL, die MySql- und FTP- sowie Control-Panel-Zugangsdaten und die jeweiligen URL's erhalten.

Vielen vielen Dank!
 
Keine Ahnung, wie du da was einstellen musst und ob das so überhaupt funktioniert. Schreib dir doch einfach selbst ein Skript und führ das über die CronJobs aus, speichern kannst du das alles ja in der Datenbank. Ablaufen könnte es so:

dein server -----[Anfrage]---> Freehoster -----[Anfrage]----> Seite ---[Antwort]---> Freehoster -----[Antwort]----> dein server

Das Ganze kannst du mit einem einfachen fsockopen oder fopen auf der Freehoster-Seite realsieren (wahrscheinlich gibt es in php inzwischen schon wieder unzählige andere Funktionen, ist schon lang her, dass ich das letzte mal php programmiert hab *g). Die dadurch gewonnenen Informationen werden nun an deinen Server wieder rausgegeben, der mittels regexp sich seine Informationen herausfiltert und speichert.
Wie gesagt: Ich hätts mir selbst geschrieben, Snoopy kenn ich persönlich nicht, deswegen sag ich dazu nichts.
 
@fetzer: Dankeschön! Ich hab jetzt allerdings einen Dämpfer bekommen, da ich bisher noch keinen Freehoster gefunden habe, bei dem der PHP-Parameter "allow_url_fopen" auf "on" gesetzt ist. Dieser Parameter legt fest, ob per PHP-Skript Dateien über http geöffnet werden dürfen.

Kennt hier vielleicht jemand einen Freehoster wo dieser Parameter auf "on" gesetzt ist?
 
Zurück
Oben