Mailinglisten-Archive |
Hi Andreas, Am Donnerstag, 24. November 2005 07:53 schrieb Andreas Heigl: > Robert Preis schrieb: > > (2.) > > ip des rechners, an dem der user grade sitzt speichern. > > Die IP des Client-Rechners zur Authentifizierung (im weistesten Sinne) zu > verwenden halte ich persönlich für unklug. > > In Zeiten von oftmals dynamischen IP-Adressen kann es passieren, dass sich > im Laufe einer Sitzung die IP-Adresse des Client ändert. Der Benutzer wird > dann abgemeldet, ohne zu wissen warum und wieso und weshalb. Das kann sehr > frustrierend sein für den ahnungslosen Anwender, der einfach nur > feststellt, das er abgemeldet wurde. das stimmt natürlich. Da hatte ich gestern Abend auch nicht dran gedacht. Allerdings kommt es auf die Umgebung an, für die die Webanwendung bestimmt ist. Wenn sichergestellt ist, daß eine IP nicht während der Session wechselt, dann ist die IP doch verwendbar. Ein Anwendungsfall wäre z.B. eine firmeninterne Verwendung, wo jeder Arbeitsplatzrechner eine feste IP hat und diese auch für den Server sichtbar wird. Hier kommt aber wieder ein anderes Problem ins Spiel. Es gibt nicht nur dynamische IP-Adressen, die während einer Sitzung wechseln können, sondern auch Proxies mit einer IP-Adresse, hinter der sich viele Anwender "verstecken", also z.B. ein Firmennetzwerk. Nach draußen wird dann nur die eine IP sichtbar, über den tatsächlichen Anwender sagt sie aber dann überhaupt nichts aus. > Eine vernünftige Alternative habe ich so spontan aber leider nicht auf > Lager. :-( Naja, man könnte es z.B. während der Sitzung mit dem HTTP_USER_AGENT versuchen. Der sollte ja nicht während der Sitzung wechseln. :-) Aber eigentlich ist der Ansatz für Robert ein anderer. Wie schon sein Betreff sagt, geht es ja eigentlich um Sessions. D.h. ein Benutzer wird durch die Session-ID eindeutig identifizierbar. Natürlich kann eine Session geklaut werden. Dagegen kann man aber einige effiziente Maßnahmen ergreifen, z.B. daß eine Session nur mit Cookie möglich ist, daß der Session-Timeout sehr knapp gesetzt ist, daß eine Session nur verschlüsselt verwendet werden darf usw. Sobald also eine Anmeldung erfolgt und solange eine Session-ID verwendet wird, arbeitet man eben mit SSL. Ich denke, das ist doch schon mal recht sicher. Allerdings sollte man dabei erwähnen, daß SSL ip-basiert ist, d.h. pro IP-Adresse kann man nur einen virtuellen Host anlegen, der auf den Port 443 hört. Oder anders herum gesagt, ich kann auf eine IP-Adresse nicht mehrere Domains für HTTPS legen, die dann für verschiedene virtuelle Hosts gelten. Wenn man sowas braucht, braucht man mehrere IP-Adressen für den Rechner. Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive