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.
Problem mit Flask und Session
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
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.
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.
Bottle: Micro Web Framework + Development Blog
-
- User
- Beiträge: 32
- Registriert: Donnerstag 27. August 2009, 08:45
- Wohnort: Aalen
- Kontaktdaten:
Danke für den Hinweis. Dann werde ich das erstmal ändern. Vielleicht behebt es das Problem auch gleich.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...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.
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher
http://ms4py.org/
Gerhard Kocher
http://ms4py.org/
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Signiert, nicht verschlüsselt. Der Inhalt ist nicht geheim, er kann nur nicht geändert werden.ms4py hat geschrieben:Einsehbar sind sie IMO nicht, da das Cookie verschlüsselt wird...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.
Bottle: Micro Web Framework + Development Blog
-
- User
- Beiträge: 32
- Registriert: Donnerstag 27. August 2009, 08:45
- Wohnort: Aalen
- Kontaktdaten:
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.
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.
-
- User
- Beiträge: 32
- Registriert: Donnerstag 27. August 2009, 08:45
- Wohnort: Aalen
- Kontaktdaten:
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
Weiss jemand was der Stern zu bedeuten hat?
Ich lasse mir das Objekt auf der Konsole ausgeben
Code: Alles auswählen
<Session {'_csrf_token': 'f0f60719-64c5-4425-a630-272e91f192c9'}*>
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.
Der Stern zeigt einfach an dass die Session noch nicht gespeichert wurde.