我想知道这是否安全,我不知道记忆是如何工作的。如果我通过忘记注销,我仍然可以在浏览器中查看auth_tkt cookie,所以我认为它不能像加密user_id那样简单并将它们存储在cookie中,是吗?是
编辑:
我的登录代码:
headers = remember(request,user.userId)
return HTTPFound(location="/",headers=headers)
注销代码:
headers = forget(request)
return HTTPFound(location="/login",headers=headers)
答案 0 :(得分:1)
pyramid.security.remember使用HMAC对cookie进行签名,使其接近防篡改。 http://en.wikipedia.org/wiki/Hmac
关于忘记的问题,您是否将没有Cookie的新请求传递给标题?
headers = forget(request)
return HTTPFound(location = request.route_url('home'),
headers = headers)
如果您向我们展示您尝试过的内容,也许包括您的退出视图代码
,也会有所帮助