In Anbetracht der Client (Browser des Benutzers) können Sie senden, was sie will, würde ich sagen, es gibt keinen Weg, um sicher zu sein, die Website-Skript aus aufgerufen:
- Wie Sie die URL wissen wollen die Website Ihres Widgets, und nicht die Adresse des Benutzers Einbetten
$_SERVER['REMOTE_HOST']
helfen nicht
$_SERVER['HTTP_REFERER']
OK erscheinen könnte, aber tatsächlich nicht ist:
- die Auftraggeber haben es nicht zu senden (und es doesn‘ t immer tun)
- Da es durch den Client gesendet wird, kann es
So Ganz leicht gefälscht/gefälscht wird, würde ich sagen, dass es für dieses Problem, zumindest auf dem Server-Seite keine wirkliche Lösung ist (wenn ich falsch bin, ich bin daran interessiert zu wissen)
Aber vielleicht können Sie etwas auf der Client-Seite tun: wenn das alles zu schreiben, dachte ich über google Maps, und es ist System von API Key:
- Sie haben einen (eindeutigen) API-Schlüssel vier Ihre Domäne
- Wenn Sie die JS-Skripts von Google laden, senden Sie diesen Schlüssel
- , wenn der Schlüssel nicht für die Domäne registriert ist, auf der Sie die Karte anzeigen möchten, Es gibt eine
alert
Nachricht, die besagt: "Der Google Maps-API-Server hat Ihre Anfrage abgelehnt. Dies könnte daran liegen, dass der auf dieser Site verwendete API-Schlüssel für eine andere Website registriert wurde. "
- aber die Karte scheint ohnehin angezeigt werden - zumindest auf meinem Testserver
- diese
alert
ist wirklich für den Endanwender anoying, und ich glaube nicht, dass jemand würde eine Warnung auf ihrer Website angezeigt werden sollen, weil sie Ihren Dienst withot Autorisierung verwenden ...
Vielleicht haben Sie einen Blick auf, wie haben kann dies für google gemacht wird abbildet :-)
$ _SERVER ['REMOTE_HOST'] funktioniert nicht, da es die Details des Clients (Web-Benutzer) zurückgibt und nicht die Details der Webseite, die die GET-Anfrage machen - was ich brauche. –