Sven Rautenberg: Gefälschte Formulare verhindern?

Beitrag lesen

Moin!

Wenn ich es zusammenfasse ist dann aber eine kurze Sessionlaufzeit (sie steht momentan bei 4 Stunden) kombiniert mit der Übergabe der Sessionid an jedem request das sauberste und die sicherste Lösung des Problems, korrekt?

Nein, schlecht zusammengefaßt.

Das Problem, welches du beschreibst, haben in der Realität auch Banken, eBay und diverse andere Anbieter, bei denen es echt um Geld geht, und es wird "Phishing" genannt. Einfädelungspunkt ist eine Spam-Mail, in der der Empfänger veranlaßt werden soll, den in der Mail mitgelieferten Link zu benutzen, um dann auf ein echt aussehendes, aber von den Bösen angebotenes Formular zu erreichen und dort geheime Angaben zu machen.

Ein technischer Schutz gegen derartige Machenschaften ist absolut unmöglich. Man kann die Benutzer nur immer wieder dazu ermahnen, nicht auf solche Mails hereinzufallen und immer dafür zu sorgen, dass drauf geachtet wird, Daten nur in Formulare einzugeben, die vom richtigen Server kommen.

Exakt dasselbe mußt du eben auch machen. Die guten Formulare kommen alle von deinem Webspace. Ein Böser kann dort keine gefälschten Formulare hinterlegen (wenn doch, solltest du dir ernsthaft Gedanken um deine Passwortverwaltung machen), er muß zwingend einen eigenen Server mit anderer Domain benutzen (ich gehe davon aus, du hast eine eigene Domain - bei Webseiten, die der eigene Provider hostet, wie z.B. T-Online, ist die Unterscheidung zwischen "Verzeichnis mit den guten Seiten" und "Verzeichnis mit den bösen Seiten" nicht unbedingt so klar erkennbar).

Wenn du also alle deine Benutzer darauf hinweist, dass sie bitte immer drauf achten sollen, sich nur über deine Startseite einzuloggen und nicht irgendwelche Links in Mails anzuklicken, dann hast du alles Menschenmögliche getan, um derartige Angriffe zu verhindern.

Allerdings hast du, weil es sich hier um ein Spiel handelt, bei dem du das erlangen unfairer Vorteile verhindern willst, noch ganz andere Möglichkeiten, als beispielsweise Banken, denn der Böse hat von der Formularfälschung ja nur was, wenn er das Spiel spielt. Und seine Vorteilserlangung kann von deinem Spiel geloggt werden, so dass du hinterher, wenn jemand unerwartet ganz viel Spielgeld oder Spiel"waren" besitzt, nachsehen kannst, ob bei der Erlangung dieses Reichtums alles mit rechten Dingen zugegangen ist. Oder wenn du Hinweise von Mitspielern kriegst, die dann doch auf einen Formularfälscher reingefallen sind, kannst du diese Transaktionen nachsehen, ggf. rückgängig machen und natürlich den Bösen komplett vom Spiel aussperren oder zumindest bestrafen.

Alle anderen technischen Lösungen versagen leider, weil dein ausgelieferter HTML-Formularcode eben keine Augen und Ohren hat und nicht zurückmelden kann, wenn irgendwas dubioses passiert.

  • Sven Rautenberg