wahsaga: Authorisierung nach Aufruf aus Javascript prüfen

Beitrag lesen

hi,

Wenn die 1.php nur dazu da sein soll, einen Accountnamen aus dem HTML zu extrahieren - dann kann ich doch auch als unberechtigter Nutzer diesen Accountnamen in meinem HTML unterbringen - oder wie willst du das verhindern?

Kann er nicht, da er keinen Einfluss auf die Seite hat, wo der Accountname steht. Er hat Einfluss auf eine Seite, dies von dieser geöffnet wird und kann dort u.a. den Aufruf für meinen Service unterbringen.
Den Accountnamen bekomme ich via opener aus der öffnenden Seite. Das ist zuverlässig.

Nicht, wenn der opener nicht das ist, was du erwartest.

Dein Problem ist, dass die Zugangsdaten über den Client gehen sollen/müssen - und damit sind sie dort auch beliebig kopier- und manipulierbar.

Es sind ja im eigentlichen Sinne keine Zugangsdaten, sondern eine Information, die aus einer HTML-Seite extrahiert wird.

Ob du diese frei verfügbare Information jetzt Zugangsdatum nennen willst oder nicht, ist doch wurscht - Fakt ist: Du willst den Zugriff davon abhängig machen.

Vielleicht beschreibe ich das Problem mal anders:

  1. Ein Dienstleister (das bin nicht ich) stellt eine Anwendung zur Verfügung, mit der Daten des Benutzers angezeigt werden können. Dafür hat der Benutzer einen Accountnamen, welcher auf den Seiten des Dienstleisters zu finden ist.

Gut. Den kann dort (mindestens) der Benutzer lesen, weitergeben kann er ihn auch.

  1. Der Benutzer fordert eine Datenanzeige an. Diese wird in einem Popup geöffnet. Der Benutzer kann durch Einstellungen Einfluss auf die Daten nehmen. U.a. kann dort HTML "injiziert" werden (ungeprüft - und damit auch Javascript).

  2. Dieses Javascript liegt auf meinem Server und wird von einer PHP-Routine geliefert (1.php).

  3. Die 1.php sendet Javascript. Dieses extrahiert den Accountnamen aus dem öffnenden Fenster und ruft eine 2.php mit dem Accountnamen als Parameter auf.

  4. Die 2.php prüft den Accountnamen und liefert in Javascript geschriebene Service-Routinen zurück, wenn der Benutzer als berechtigt erkannt wird.

Gut, bis hier keinerlei "Sicherheit" vorhanden.
Lediglich ein beliebig manipulierbarer Parameter wird ausgewertet.

Bis zu 3) gibt es keine Änderungsmöglichkeit. 4+5 sind mein Lösungsansatz und ich habe hier gefragt, welche Möglichkeiten es gibt.

Keine realistischen, m.E.

Die Verarbeitung der Daten _muss_ auf dem Client erfolgen und daher _muss_ ich Javascript zurückgegeben.

Was willst du denn nun eigentlich schützen - die Daten, oder deinen Javascript-Code?

gruß,
wahsaga

--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }