Logfiles: file_get_contents()

cr4m0

Angesehenes Mitglied
Nehmen wir mal an, eine Seite A möchte den Inhalt meiner Seite B automatisch kopieren lassen. Dann kann auf Seite A ja ein Script erstellt werden, das mit file_get_contents() meine Seite einliest und danach den Inhalt speichert. Meine Frage ist jetzt: Kann ich auf Seite B in meinen Logfiles sehen, dass diese mit PHP auf Seite A eingelesen wird? Wenn ja: Welche Einträge sehe ich dann in den Logfiles?
a) Den Server, der mit file_get_contents() meine Seite eingelesen hat
b) Den Besucher, der die Seite aufgerufen hat
Falls a) zutrifft, könnte ich solche Leute ja schnell finden und etwas gegen den Diebstahl unternehmen...
Danke im Voraus!
 
Ohne die Frage beantworten zu können, würde mich interessieren

was Du unternehmen willst, wenn Du dann die IP oder Domain hast und die in Rußland, USA, China, oder sonstwo ist?
 
Wenn ich jetzt sehen würde, dass die Aufrufe beispielsweise alle aus Russland kommen, könnte ich die Besucher mit Geotargeting ausschließen. Mich interessiert aber erst einmal, ob das Erkennen überhaupt möglich ist.
 
Ob A deine Seite nun per file_get_contents() oder per Browser aufruft dürfte egal sein. Denn file_get_contents() nutzt auch nur diese Protokolle.
Sofern A dann FTP-Rechte hat, können natürlich die PHP-Quellen runtergeladen werden. Aber ich geh mal davon aus, dass du HTTP(s) meinst, richtig? Dann nämlich wäre die Abfrage von A genau das gleiche wie ein normaler Request an den Webserver per Browser, abgesehen vom User-Agent.
D.h., der Zugriff wird geloggt und v.a. die PHP-Scripte werden geparsed, und A erhält von B eben nur die fertigen HTML-Seiten zurück, wie B sie auch im Browser sehen würde.

Sofern sich B allerdings einige Mühe gibt, verwendet er Snoopy oder ein anderes Tool, dann ließe sich auch der User-Agent ändern. Und dann noch das Kopier-Script vom lokalen Rechner laufen lassen, um keinen Hinweis auf eine Server-IP zu geben, und schon siehst du in deinen Logs nur noch einen ganz normalen Besucher mehr.
 
Danke!
Ich meine auch eine Anfrage über HTTP. Das ist genau das, was ich wissen wollte.
 
Zurück
Oben