Seite 1 von 2

Re: Webentwicklung - wie am besten anfangen

Verfasst: Mittwoch 4. August 2010, 08:44
von BlackJack
Sync32: Für Sessions gibt's mindestens eine WSGI-Middleware. Gleich der erste Eintrag in der Bottle-FAQ: http://bottle.paws.de/page/faq

Re: Webentwicklung - wie am besten anfangen

Verfasst: Mittwoch 4. August 2010, 08:52
von noisefloor
Hallo,

wenn du in eine Datei loggen willst -> es gibt ein logging-Modul.

Gruß, noisefloor

Re: Webentwicklung - wie am besten anfangen

Verfasst: Mittwoch 4. August 2010, 11:05
von Leonidas
Sync32 hat geschrieben:Aber wie werden unter Python Loginsysteme geschrieben?
Gibts da wie bei PHP Sessiona oder so?
Also man nutzt Sessions aber überlicherweise schreibt man sowas nicht selbst sondern nutzt ne Authentifizierungs-Middleware.

Re: Webentwicklung - wie am besten anfangen

Verfasst: Mittwoch 4. August 2010, 11:50
von Hyperion
Leonidas hat geschrieben:
Sync32 hat geschrieben:Aber wie werden unter Python Loginsysteme geschrieben?
Gibts da wie bei PHP Sessiona oder so?
Also man nutzt Sessions aber überlicherweise schreibt man sowas nicht selbst sondern nutzt ne Authentifizierungs-Middleware.
Wobei wir das Thema neulich erst hatten und etwas wirklich tolles niemand präsentieren konnte. Evtl. kannst Du uns da etwas empfehlen? In flask ist das ganze ja bereits enthalten, weswegen ich in Zukunft wohl eher darauf aufbauen würde, als auf bottle.

Re: Webentwicklung - wie am besten anfangen

Verfasst: Mittwoch 4. August 2010, 12:05
von Defnull
Hyperion hat geschrieben:Wobei wir das Thema neulich erst hatten und etwas wirklich tolles niemand präsentieren konnte. Evtl. kannst Du uns da etwas empfehlen? In flask ist das ganze ja bereits enthalten, weswegen ich in Zukunft wohl eher darauf aufbauen würde, als auf bottle.
Wenn ich mir die Definition von "Sessions" [1] bei Flask so anschaue, hat Bottle das auch. Es heißt nur anders (Secure Cookies) und funktioniert wie stink normale Cookies, nur das man nen Python Objekt statt eines Strings übergibt [2] und der Client die Daten nicht ändern kann. Nen wrapper dafür, der das wie "Sessions" aussehen lässt, wäre schnell geschrieben. Ich finde diese Art nur zu beschränkt (Cookies dürfen nicht beliebig groß werden) um das wirklich "Session" zu nennen. In jedem anderen Framework versteht man unter Sessions eher etwas anderes: Serverseitig gelagerte Daten, die eben NICHT bei jedem Request mit übertragen werden müssen und NICHT vom Client einsehbar sind.

[1] http://flask.pocoo.org/docs/quickstart/#sessions
[2] http://bottle.paws.de/docs/dev/api.html ... set_cookie

Re: Webentwicklung - wie am besten anfangen

Verfasst: Mittwoch 4. August 2010, 12:06
von Leonidas
Hyperion hat geschrieben:Also man nutzt Sessions aber überlicherweise schreibt man sowas nicht selbst sondern nutzt ne Authentifizierungs-Middleware.
Wobei wir das Thema neulich erst hatten und etwas wirklich tolles niemand präsentieren konnte. Evtl. kannst Du uns da etwas empfehlen? In flask ist das ganze ja bereits enthalten, weswegen ich in Zukunft wohl eher darauf aufbauen würde, als auf bottle.[/quote]
Nö, ich habe letztens nur das genutzt was Django bietet. In Zukunft werde ich wohl auch auf flask setzen, zudem ich warscheinlich ne Dokumentendatenbank bevorzugen werde.

Re: Webentwicklung - wie am besten anfangen

Verfasst: Mittwoch 4. August 2010, 14:56
von DasIch
@Defnull Das Secure steht dafür dass es verschlüsselt ist, ein User kann nicht einfach die Daten einsehen. Abgesehen davon muss man erstmal soviele temporäre Daten zusammen bekommen dass ein Cookie nicht mehr ausreicht.

Re: Webentwicklung - wie am besten anfangen

Verfasst: Mittwoch 4. August 2010, 16:32
von Defnull
DasIch hat geschrieben:@Defnull Das Secure steht dafür dass es verschlüsselt ist, ein User kann nicht einfach die Daten einsehen. Abgesehen davon muss man erstmal soviele temporäre Daten zusammen bekommen dass ein Cookie nicht mehr ausreicht.
Nö, Flask verschlüsselt die client-seitig gespeicherten Session-Daten nicht, sondern signiert sie nur. Das verhindert das Verändern der Session-Daten, nicht aber das Auslesen. Quote aus der Flask doku: "This is implemented on top of cookies for you and signs the cookies cryptographically. What this means is that the user could look at the contents of your cookie but not modify it, unless he knows the secret key used for signing."

Das meine ich damit: Unter Session versteht man eigentlich etwas anderes.

Und was die Größe an geht: Auch wenn es nur 500 bytes sind (und die kommen schnell zusammen, da die Daten erst gepickelt und dann mit base46 codiert werden) diese Daten werden bei jedem einzelnen Request (auch bei statischen Daten) an den Server geschickt.

Wie gesagt, Bottle kann das auch, nennt es nur anders. Für Sessions im herkömmlichen Sinne würde ich diese Technik aber nicht verwenden.