ich zerbrech mir grade den Kopf über ein Problem und komme nicht weiter. Folgende Situation:
Ich habe hier 2 Rechner stehen. Auf beiden läuft ein Apache2 (Apache/2.0.55). Rechner 1 ist per LAN an den Router angebunden, Rechner 2 per WLAN. Auf den beiden Servern führe ich nun ein identisches Script aus das einen Request an eine Webseite schickt.
Rechner 1 werden die erwarteten Daten zurückgeliefert wie sie auch ein normaler Nutzer bekommen würde, Rechner 2 hingegen wird irgendwie herausgefiltert und bekommt eine Meldung.
Wie macht die Webseite das? Wie um Himmels Willen unterscheidet sie zwischen Rechner 1 und Rechner 2? Die HTTP-Requests der beiden Rechner sind exakt die selben und sie nutzen den selben Router mit der selben IP - das gibt doch keinen Sinn, oder?
kann es daran liegen das die Seiter eine IP oder MAC Adressen Sperre hat? Du gehst mit Zwei Rechnern auf die Seite aber der Router der den Request an die Seite schickt hat ja nur eine IP und eine MAC Adresse...
Für die Seite die ich Anfrage müsste das eigentlich aussehen wie wenn von einem Rechner 2 Anfragen kommen. Trotzdem kann er aber Rechner 1 und Rechner 2 unterscheiden - wie auch immer.
Die Mac-Adresse meiner lokalen Netzwerkkarte und des Routers kommen beim Webserver gar nicht an (wird ja beim weiterleiten des TCP-IP-Pakete von den Knote über die es geht überschrieben) und ich bezweifle auch dass die Seite die ich request sowas könnte... ist ein einfaches Script eigentlich.
Ich weiss nur dass die HTTP-Requests die beim Server gleich sind (habe einfach Anfragen auf einen andere Seite gemacht bei der ich die Logfiles einsehen kann) und auch die IP die selbe ist.
Sonntagnachmittage sind dafür perfekt geeignet sowas rauszufinden:
Auf Rechner 1 lief PHP4, auf Rechner 2 hingegen PHP5. Nachdem ich Rechner 2 auf PHP4 geswitcht habe geht das alles absolut problemlos. Nun muss ich nur noch rausfinden woran es lag.
Da wurden sind ja nur die Funktionen fsockopen und fputs verwendet, von dem her muss da irgendwo der Unterschied sein.