Zugriff auf ein Script beschränken

port29

deus.Server
Hallo Leute,

ich habe für ein Projekt ein Script geschrieben, das Daten für die Autocompletion Funktion bereitstellt. Der Benutzer gibt einen Text ein und bekommt dannach die 10 pasendsten Treffer aus der Datenbank zurück. Das soweit zur Vorgeschichte.

Nun will ich genau diesen Zugriff einschränken, damit nicht andere Websitebetreiber kommen und Abfragen gegen mein Script stellen. Auf den Referrer zu schauen ist für mich aber auch keine Lösung, da ich genug Programme kenne, die den Referrer manipulieren (wg. "anonymem" Surfen & co.), deshalb würde ich da gerne etwas auf Kryptographie setzen, wobei ich nicht die Anfrage an sich verschlüssele, sondern nur die Authorisierung.

Meine Idee wäre, dass es jeden Tag eine "neue" große Primzahl gibt, die im Script hardgecoded ist. Diese Primzahl wird mit dem aktuellen (vll. auch etwas modifiziertem - so Timestamp + IP Adresse, o.ä.) Unix Timestamp multipliziert. Dieser Schlüssel wird dann in den JS Quellcode der Website eingefügt und bei jeder AJAX Abfrage benutzt. Auf dem Server hole ich mir dann den Code zu jeder Abfrage und rechne den mod Primzahl. Jedenfalls habe ich dann einen Timestamp, wie lange es her ist, dass der Auth Code erstellt wurde. Da kann ich dann sagen, ich Antworte nur dann, wenn der Auth Code unter 5 Min alt ist.

Wie findet Ihr die Idee? Oder was würdet Ihr machen? Ich weiß momentan leider auch nicht, in wieweit PHP mit großen Zahlen rechnen kann. Hat da von euch jemand Erfahrungen?
 
Zurück