Werkzeug Session korrekt beenden / Cookie löschen
Verfasst: Samstag 21. August 2010, 21:28
Nachdem ich das Werkzeug Tutorial (URL-Shortener) abgearbeitet (und hoffentlich halbwegs verstanden
) habe, versuche ich hier und da etwas auszutauschen und hinzuzufügen (statt decorator für views eigene urls.py erstellt, kleinen Blog erstellt). Nun bin ich dabei ein "Login System" zu erstellen, was auch bisher ganz gut funktioniert (ebenfalls aus der Werkzeug Dokumentation geklaut).
Zum Beenden einer Session wurden allerdings nicht viele Worte verloren, das einzige was ich dazu sehe ist:
Scheint auch zu funktionieren, beim logout wird die "/tmp/werkzeug_*.sess" Datei gelöscht, aber das Cookie im Browser bleibt besteht. Dadurch erhält der Nutzer bei jedem weiteren Login auch immer die selbe Session ID, ich weiß nicht ob das der Sicherheit der Anwendung gerade zuträglich ist
.
Ist es nicht weiter schlimm, dass das Cookie weiter besteht? Und wenn doch: Wie beende ich die Session ordnungsgemäß (und lösche das Cookie)?

Zum Beenden einer Session wurden allerdings nicht viele Worte verloren, das einzige was ich dazu sehe ist:
Entsprechend habe ich meine Anmelde- und Abmeldeviews folgendermaßen gestaltet:class werkzeug.contrib.sessions.SessionStore(session_class=None)
...
delete(session)
Delete a session
Code: Alles auswählen
def login(request):
name = error = ''
if request.method == 'POST':
user = User.query.filter_by(name=name).first()
if #formular prüfkrams erfolgreich:
request.session['uid'] = user.uid
request.session['name'] = user.name
return redirect('/')
return render_template('auth/login.html', name=name, error=error)
def logout(request):
local.session_store.delete(request.session)
return redirect('/')

Ist es nicht weiter schlimm, dass das Cookie weiter besteht? Und wenn doch: Wie beende ich die Session ordnungsgemäß (und lösche das Cookie)?