Prüfen von wo (Domain) eine Funktion aufgerufen wird

He Jungs ihr seid so schnell da komme ich ja gar nicht nach, danke.

Das mit define hat auch einen Haken. Wenn jemand unerlaubt diesen Code weitergibt, kann es jeder verwenden.

Es gibt bei verschiedenen registrierten Personen ein Formular. Das Aussehen und der Aufbau sind verschieden und kann von mir auch nicht beeinflusst werden. Lediglich die Daten die erfasst werden sind die selben.

Es soll jetzt so sein, das nachdem die Daten erfasst wurden diese Daten an meine Funktion übergeben werden und diese Funktion die Daten prüft und einen entsprechenden Wert zurückliefert.

Ich hatte gedacht das wenn nun meine Datei/Funktion per include auf der jeweiligen Seite eingebunden wird ich dort auch den Rückgabewert erhalte und weiter verwenden kann

Es müßte nur sichergestellt sein, das ich prüfen kann wo (auf welcher Domain) die Datei/Funktion eingebunden wurde.
 
Ich sehe zwei grundlegende Probleme/Hürden: allow_url_fopen könnte (und sollte) aus Sicherheitsgründen deaktiviert sein, womit ein Zugriff auf entfernte Dateien nur noch beschränkt möglich ist. Auch könnte dadurch ganz einfach Schadcode injiziert werden, was ein guter Programmierer natürlich immer vermeiden sollte. Zudem kann der einmal erhaltene fehlende Quellcode auch einfach gespeichert und somit unnötiger Datentransfer vermieden werden.
 
Und zu dem Problem mit dem Define...
Du kannst ja auch als Variable den Host definiert und den dann in dem angefordertem Script prüfen.
Oder du realisierst ALLES über URLParameter...
Beispiel:

Der User der dien Script nutzen möchte, gibt alles Variablen per URL an das Script weiter und MUSS zusätzlich auch einen Code oder einen Hash mit übergeben.

deinscript.php?auth=ich_bin_berechtigt&parameter1=foo&parameter2=bar

Zusätzlich kannst du noch den Host ermitteln und dann die Ausührung des Scriptes zulassen oder abweisen.

Du kannst genausogut den Host mit einem von dir gewähltem Key per MD5 verschlüsseln und dann diesen Schlüssel in einer DB speichern. Bei jeder Anfrage wird der anfragende Host mit deinem Key erneut verschüsselt und dann mit den SChlüsseln aus deiner DB verglichen...

Somit hat jeder Host seine Authentifizierung ( das kannst du unter anderem auch loggen wenn du magst ) und keiner ( der den Key nicht kennt ) kann sich für seine Seite einen eigenen Schlüssel erstellen ( da er ja in der DB nicht vorhanden ist )

MFG
Sandro
 
Zurück