Skriptaufrug über zweiten Server

ShooterMS

Mitglied
Ich habe ein php-Skript auf meinem Server liegen, welches über einen Textlink von einer anderen Webseite (auch anderer Webserver) aufgerufen werden soll. Nun soll zeitgleich aber auch verhindert werden, dass dieser Link nicht von weiteren Webseiten "missbraucht" wird (durch Kopieren des Links).
Gibt es eine Variable oder Funktion in php mit der ich abfragen kann, ob der Aufruf meines php-Skriptes von eben diesem erlaubten Webserver erfolgt ist? zB auf Grundlage der IP-Adresse des zweiten Webservers?

Vielen Dank
 
Schau dir mal die Variable $_SERVER['HTTP_REFERER'] an. Diese sollte auf der zweiten Seite (die über den Link geöffnet wird), den Link der Datei enthalten, über die geöffnet wurde.

Nun kannst du mit sehr einfachen if-Abfragen checken woher der Klick, bzw. Aufruf kommt.
 
Die IP des Webservers kannst Du nicht überprüfen, weil der Browser auf dem Client-Rechner letztendlich das Script auf dem zweiten Webserver aufruft. Also ist die IP die des Clients. Du könntest allerdings den HTTP-Referer überprüfen.
PHP:
$_SERVER['HTTP_REFERER']
-->
Die Adresse (URL) - sofern vorhanden - der Seite, von der aus auf die aktuelle Seite gesprungen wurde. Dieser wird vom Browser des Benutzers gesetzt. Nicht alle Browser unterstützen dies.

snuu

//EDIT: zu spät :)
 
danke

aber da man sich anscheinend auf HTTP_REFERER nicht sicher verlassen kann, gibt es noch eine andere möglichkeit zu unterbinden, dass das skript von dritten aufgerufen wird?
das problem ist dass mit dem link daten übergeben werden. jetzt wollte ich den textlink nicht in ein formular verpacken, weil zu aufwendig, sondern in der GET-Variante einafch per textlink verschicken und im php-skript auslesen. verschlüsselt oder nicht, egal. aber ich hab eben das problem, wenn jemand dann den kompletten link mit dem verschlüsselten GET-Variablen kopiert und bei sich auf einer Seite einsetzt. - dass muss eben verhindert werden.
 
Denkanstoss:

Du könntest jeden Tag einen zufälligen Wert generieren, der an den Link angehängt wird. Der 2. Server holt sich ebenfalls einmal am Tag den neuen Wert. Wird der Link aufgerufen, müssen der übergebene Wert und der täglich generierte Wert übereinstimmen.

snuu
 
hab ich mir auch schon überlegt, den link mehr oder weniger zeitlich dynamisch zu generieren. aber da es ziemlich viele links sind, ist der aufwand dafür zu groß. ich muss zunächst davon ausgehen, dass die links nicht dynamisch generiert werden können. noch ne idee? ;)
 
Zurück