Die allwissende Müllhalde: weggefilterte Referrer-Daten

Beitrag lesen

Hintergrund: ich biete einen kostenlosen Chat für private Homepages an. Um den User-Chat im Server zu identifizieren, verwende ich die Referrer-Daten, die beim ersten Request mitgeschickt werden.

Es ist immer riskant, sich auf derartige Zusatzdaten zu verlassen, da sie, wie Du ja bemerkt hast, frei veränderbar sind. Im Grunde ist außer der abgefragten URL nichts sicher. Daraus folgt..

Frage: Ich such eine bessere Möglichkeit, meinen Chat auf fremden Homepages einzubinden. Dabei soll der Server erkennen können, wessen privater Chat gerade betreten wird (das ginge u.U. durch eine ID, die ich vergebe), und es soll aber auch verhindert werden, dass jemand die ID klaut, und den Chat unter fremder ID bei sich einbaut.

..daß Du prinzipiell damit leben werden mußt. Soweit ich das überblicke, bietest Du letztlich einen öffentlich zugänglichen Dienst an, so gesehen ist es schon von der Definition her recht abwegig, diesen Dienst versperren zu wollen.

Ich sehe momentan auch den Schaden nicht, der angerichtet werden könnte. Je mehr auf einen Chat hingewiesen wird, desto mehr Besucher werden kommen; und wenn es etwas gibt, was einem Chat den Todesstoß versetzt, dann sind es mangelnde Besucher. Von diesem Gesichtspunkt her wäre es geradezu schädlich, Fremdverweise unterbinden zu wollen.

Geht es Dir lediglich darum, kontrollieren zu können, wer die Hauptnutzer Deines Dienstes sind bzw. daß sich niemand mit fremden Federn schmückt, dann solltest Du Deinen angemeldeten Nutzern die Möglichkeit geben, Deinen Dienst entsprechend ihrem Seitendesign anzupassen. Steht beispielsweise groß oben drüber "Peters Plauderplatz", wird Karen diesen Dienst kaum als "Karens Küchenklamauk" anbieten können.
Für diese Anpassung reicht dann auch die von Dir angesprochene Auswahl über die URL ("http://example.com/chat/petersplauderplatz/").

Du kannst das Ganze natürlich trotzdem noch über die Referrer-Angabe einengen. Nach wie vor melden die meisten Browser eine echte URL. Prüfe also, ob der Referrer dem Format einer absoluten HTTP-URL entspricht und falls ja, prüfe, ob sie mit einer Deiner Nutzer übereinstimmt und gewähre entsprechend Zutritt oder nicht.
Falls der Referrer nicht dem Standardformat entspricht, gewähre auf jeden Fall Zutritt. Außer den versteckten oder verkrüppelten Referrern gibt es nämlich auch noch solche, die entstehen, wenn jemand Deinen Dienst aus seinen Lesezeichen/Favoriten anwählt; meistens leer, manchmal aber auch "bookmarks:" oder ähnliches. Und wenn schon jemand Dein Angebot so interessant findet, daß er sich ein Lesezeichen anlegt, dann willst Du ihn doch sicher nicht aussperren, oder?

Davon abgesehen: Geht es hingegen um eine echte geschlossene Benutzergruppe, dann solltest Du Passwörter vergeben.