服务器端计算机的散列值是什么,python-如果金字塔会话是单向散列的,而不是存储在服务器端,则数据来自哪里?...

使用SignedCookieSessionFactory时,文档指出已使用sha512 HMAC摘要算法.结果,一旦会话数据被序列化,就将其签名并在会话cookie下发送给用户的客户端.

Pyramid的文档中没有提到会话也在服务器端缓存(在此SessionFactory下).

当与SessionAuthenticationPolicy配对时,这会带来矛盾并导致身份验证混乱.如果无法从客户端的会话cookie中检索会话数据(因为它是单向散列的),那么怎么可能做到以下几点?

>使用应用程序进行身份验证,以使读取Request.authenticated_userid不会返回None.

>将会话Cookie复制到剪贴板.

>通过访问一个视图注销,从而将来自forget(request)的标头返回到响应中.

>用复制的值替换会话cookie.

>用户现在重新登录.

我了解,仅删除Cookie客户端不足以完全使会话无效(不列入黑名单),但这会带来以下问题:

>除非以某种方式记住用户最近发出的每个会话cookie并将其列入黑名单/使它们无效,否则如何在浏览器范围的会话中保持安全?

>会话cookie实际上是否是用于在内存中查找会话的密钥/会话ID?因为它是单向签名,所以肯定是唯一的解释吗?

>那么是否有可能使服务器端的会话无效,而不仅仅是headers = forget(request)模式更强大?

最终,我想答案是这样的:

“使用诸如pyramid_redis_sessions之类的包含项来维护服务器端会话”

任何解释将不胜感激.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值