0

我想知道这是否安全,我不知道remeber 是如何工作的。如果我通过忘记注销,我仍然可以在浏览器中查看 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)
4

1 回答 1

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)

http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/tutorials/wiki2/authorization.html#adding-login-and-logout-views

如果您向我们展示您尝试过的内容也会有所帮助,可能包括您的注销视图代码

于 2012-05-13T09:52:16.727 回答