Seite 1 von 1

Problem mit Flask und Session

Verfasst: Dienstag 30. November 2010, 17:27
von donmarten
Hallo,
ich benutze Flask mit Debian, Apache und mod_wsgi.
Ich habe einen kleinen Text, der mir anzeigt, ob der Benutzer eingeloggt ist oder nicht (abgefragt mit {% if session['username'] %} wie im Tutorial beschrieben). Lokal funktioniert das alles wunderbar. Sobald die Seite auf dem Server liegt gibts je nach Browser Probleme:

FF funktioniert wunderbar
Chrome funktioniert gar nicht
Opera funktioniert nur teilweise und wenn dann nur mit einem refresh der Seite

Mit 'funktioniert nicht' meine ich, das es wohl kein session['username'] gibt.

Wenn ich statt Apache den eingebauten Server verwende, funktioniert die Session.

Ich weiss leider nicht woran es liegt und wo ich anfangen soll zu suchen.

Re: Problem mit Flask und Session

Verfasst: Dienstag 30. November 2010, 18:15
von Defnull
Flask speichert die Daten in einem einzigen Cookie. Vielleicht sind es zu viele Daten und manche Browser weigern sich, den überlangen Cookie anzunehmen?

Kleine Warnung am Rande: Die Flask Implementierung von Sessions speichert die Daten Client-Seitig und macht sie für den Benutzer einseh- und kopierbar. Besonders beim
Thema Benutzer-Authentifizierung wäre ich da vorsichtig.

Re: Problem mit Flask und Session

Verfasst: Dienstag 30. November 2010, 18:55
von donmarten
Defnull hat geschrieben:Kleine Warnung am Rande: Die Flask Implementierung von Sessions speichert die Daten Client-Seitig und macht sie für den Benutzer einseh- und kopierbar. Besonders beim
Thema Benutzer-Authentifizierung wäre ich da vorsichtig.
Danke für den Hinweis. Dann werde ich das erstmal ändern. Vielleicht behebt es das Problem auch gleich.

Re: Problem mit Flask und Session

Verfasst: Dienstag 30. November 2010, 19:05
von ms4py
Defnull hat geschrieben:Kleine Warnung am Rande: Die Flask Implementierung von Sessions speichert die Daten Client-Seitig und macht sie für den Benutzer einseh- und kopierbar. Besonders beim
Thema Benutzer-Authentifizierung wäre ich da vorsichtig.
Einsehbar sind sie IMO nicht, da das Cookie verschlüsselt wird...

Re: Problem mit Flask und Session

Verfasst: Dienstag 30. November 2010, 19:42
von Defnull
ms4py hat geschrieben:
Defnull hat geschrieben:Kleine Warnung am Rande: Die Flask Implementierung von Sessions speichert die Daten Client-Seitig und macht sie für den Benutzer einseh- und kopierbar. Besonders beim
Thema Benutzer-Authentifizierung wäre ich da vorsichtig.
Einsehbar sind sie IMO nicht, da das Cookie verschlüsselt wird...
Signiert, nicht verschlüsselt. Der Inhalt ist nicht geheim, er kann nur nicht geändert werden.

Re: Problem mit Flask und Session

Verfasst: Mittwoch 1. Dezember 2010, 00:10
von donmarten
Ich habe das Problem nun etwas eingegrenzt.
Die Daten werden in das Session Objekt reingeschrieben, allerdings ist nach dem redirect zur Hauptseite das Session Objekt leer. Mit dem eingebautem Webserver von flask besteht das Problem nicht, deswegen denke ich ja das es mit dem Apache zu tun hat.

Re: Problem mit Flask und Session

Verfasst: Montag 10. Januar 2011, 13:26
von donmarten
Ich denke es liegt irgendwie am SERVER_NAME.
Muss ich etwas beachten wenn mein Port nicht 80 ist auf dem die Applikation läuft?

Re: Problem mit Flask und Session

Verfasst: Mittwoch 9. Februar 2011, 16:17
von mitsuhiko
Wie lautet dein Sever name, was ist der port und auf was steht SERVER_NAME in der config? :)

Re: Problem mit Flask und Session

Verfasst: Donnerstag 10. Februar 2011, 13:35
von donmarten
mitsuhiko hat geschrieben:Wie lautet dein Sever name, was ist der port und auf was steht SERVER_NAME in der config? :)
Am Server Namen scheint es wohl nicht zu liegen...

Re: Problem mit Flask und Session

Verfasst: Sonntag 13. Februar 2011, 11:09
von donmarten
Ich habe mittlerweile heraus gefunden, dass das Session Objekt bei jedem Request ein anderes ist. Ich weiss nur nicht wieso.
Ich lasse mir das Objekt auf der Konsole ausgeben

Code: Alles auswählen

<Session {'_csrf_token': 'f0f60719-64c5-4425-a630-272e91f192c9'}*>
Weiss jemand was der Stern zu bedeuten hat?

Re: Problem mit Flask und Session

Verfasst: Sonntag 13. Februar 2011, 12:12
von DasIch
Natürlich ist es bei jedem Request ein anderes. Es ist ja unklar wo der Request herkommt, die Cookies werden geparst und davon wird die Session erstellt.

Der Stern zeigt einfach an dass die Session noch nicht gespeichert wurde.