Webentwicklung - wie am besten anfangen
-
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
- noisefloor
- User
- Beiträge: 4327
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
-
Leonidas
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Also man nutzt Sessions aber überlicherweise schreibt man sowas nicht selbst sondern nutzt ne Authentifizierungs-Middleware.Sync32 hat geschrieben:Aber wie werden unter Python Loginsysteme geschrieben?
Gibts da wie bei PHP Sessiona oder so?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
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.Leonidas hat geschrieben:Also man nutzt Sessions aber überlicherweise schreibt man sowas nicht selbst sondern nutzt ne Authentifizierungs-Middleware.Sync32 hat geschrieben:Aber wie werden unter Python Loginsysteme geschrieben?
Gibts da wie bei PHP Sessiona oder so?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
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.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.
[1] http://flask.pocoo.org/docs/quickstart/#sessions
[2] http://bottle.paws.de/docs/dev/api.html ... set_cookie
Bottle: Micro Web Framework + Development Blog
-
Leonidas
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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]Hyperion hat geschrieben:Also man nutzt Sessions aber überlicherweise schreibt man sowas nicht selbst sondern nutzt ne Authentifizierungs-Middleware.
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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
@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.
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
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."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.
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.
Bottle: Micro Web Framework + Development Blog
