Webentwicklung - wie am besten anfangen

Django, Flask, Bottle, WSGI, CGI…
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
Benutzeravatar
noisefloor
User
Beiträge: 4327
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

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

Gruß, noisefloor
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

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
Bottle: Micro Web Framework + Development Blog
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

@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.
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

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.
Bottle: Micro Web Framework + Development Blog
Antworten