加密阻止用户检查数据,以及 签名确保会话既不会被劫持也不会被劫持 被篡改。
我不清楚为什么会这样。如果窃听者在从服务器发送cookie并在合法用户发出另一个请求之前使用它时获取cookie,那么会话最终会被劫持吗?
在我看来,真正防止会话劫持的唯一方法是始终使用SSL。但是,如果我这样做,那么Yesod的签名和加密最终会成为不必要的开销(编辑:防止劫持的开销。正如@sr_在评论中指出的那样,它仍然有用)。
答案 0 :(得分:24)
这很好。当我们在cookie中包含客户端的IP地址以防止劫持时,这曾经更准确。结合防篡改保护,这使得MITM攻击基本上不可能工作,除非您在相同的路由器后面使用NAT或使用相同的代理。
不幸的是,由于担心代理问题,我们不得不禁用该保护。由于中间代理服务器,单个用户的请求可能来自多个IP地址。我没有数据来说明这种情况发生的频率,但是有足够的担心这个安全功能导致我们禁用它的破坏。
感谢你提出这个问题,I've corrected the book。