Re: Authentifizierung im Projekte-Frontend

From: Erik Tews (erik.tews@gmx.net)
Date: Sun Apr 28 2002 - 12:45:52 CEST


On Sun, Apr 28, 2002 at 09:13:16AM +0200, Martin Schulze wrote:
> Können wir mal Pro und Cons von Authentifizierung diskutieren? Zur
> Auswahl stehen:
>
> 1. Basic auth per .htaccess und .htpasswd-Äquivalent
>
> 2. Authentifizierung per PHP und Form
>
> Generell muß man sich einloggen können und anschließend die gesamte
> Funktionalität nutzen können, ohne daß man jedesmal das Paßwort neu
> angeben muß. Beides ist per .htaccess und Cookie möglich.
>
>
>
> 1. Basic auth per .htaccess und .htpasswd-Äquivalent
>
> + Das gesamte Verzeichnis ist zugriffsgeschützt

Gute Idee, kann nichts schaden

> + Es müssen nicht in jeder Datei Login+Paßwörter geprüft werden,
> jedoch zusätzliche Zugriffsberechtigungen

Ebenfalls ne gute Sache

> - Paßwörter werden für jede Seite als Quasi-Klartext übertragen

Könnte man durch nen SSL-Server verhindern

Noch nen Problem könnte das ausloggen sein. Ich bin mir nicht ganz
sicher, aber afaik gibt es da keine Möglichkeit meinem Browser zu sagen,
dass ich mich jetzt neu einloggen will, mit nem anderen Benutzernamen.

Und natürlich ist das mehr Aufwand beim Einrichten. Wenn ich jetzt z. B.
gezwungen bin, die Seite bei irgend nem komerziellen Webhoster
aufzuspielen, dann kann ich halt nicht einfach das passende Auth-Modul
für Postgresql einspielen.

> 2. Authentifizierung per PHP und Form
>
> + Wir können beim Einloggen ein Cookie erzeugen, mit dem man sich
> für weitere Seiten authentifizieren muß.

Schlecht, lieber ne Art von Session-ID, die wir dann an jeden Link
dranhängen, so in der Art von edit.php3?id=asdfaer3qadsavdagewq, Cookies
haben einige Leute deaktiviert.

> - Wir müssen uns die Berechnung des Cookies gut überlegen und auch
> dessen Zerstörung einplanen.

Hm, ja, wie bereits gesagt, von Cookies würde ich absehen.

> - Es muß geprüft werden, ob und wie man diesen Mechanismus
> misbrauchen kann bzw. ob man sich darüber Zugriff "erschleichen"
> kann.

Zumindest wenn ich ne Session-ID habe, dann steht die afaik im Refer,
wenn man von der Managementseite aus auf nen Link klickt. Das kann man
aber über nen zwischenscript übergehen, also ich verlinke dann nicht auf
www.debian.org sondern auf linkweiterleitung.php3?link=www.debian.org,
und schon ist die Session-ID weg.

> Weiteres?

Der Vorteil von der Auth per PHP ist, dass es out-of-the-box
funktioniert, wir müssen also nicht erst den Webserver befummeln, und
können auch alle Funktionalität im PHP-Code halten.

Mein Vorschlag wäre die Personen-Tabelle so zu ändern dass wir noch 2
weitere Felder bekommen, einmal eins für ne Session-ID, und dann noch
mal ein weiteres für den Zeitpunkt des Einloggens. Wenn sich wer
einloggen will, mach ich nen md5 über ne Kombination aus Uhrzeit, nen
bisschen Urandom und noch was, und das Schreibe ich dann in das
Session-ID Feld rein, und das ist dann auch das einzige, was der User
dann jeder weiteren Seite übergeben muss. Und das funktioniert auch aus
Erfahrung so weit ganz gut. Und diese Session-ID bleibt dann halt nur
für sagen wir eine Stunde nach dem letzten Abruf einer Seite gültig.



This archive was generated by hypermail 2.1.3 : Sun Apr 28 2002 - 13:10:54 CEST