玩吗!框架是否有任何内置机制来防止会话劫持?
2022-09-04 22:58:42
我已经读到过,play框架通过使用应用程序密钥散列会话ID来解决会话固定问题,但是它是否提供了任何机制来防止会话劫持,或者这是否留给实现者?
我已经读到过,play框架通过使用应用程序密钥散列会话ID来解决会话固定问题,但是它是否提供了任何机制来防止会话劫持,或者这是否留给实现者?
播放文档有一个关于安全性的很好的部分,所以这里不是重复的,而是一个链接 - http://www.playframework.org/documentation/1.2.4/security。
它涵盖了
有些你必须自己实现,有些你必须不实现。
您关于会话劫持的具体问题是自动的。
会话是键/值的哈希,已签名但未加密。这意味着,只要您的秘密是安全的,第三方就不可能伪造会话。
不,没有内置的方法可以防止一旦能够捕获会话cookie(通过嗅探/中间的人)就劫持会话。有一些方法可以使其更难,例如:
一种使其更难的方法是: - 将ip/user-agent/resolution/other stuff或哈希也存储在会话中。然后,在控制器中,检查访问您站点的用户是否仍在重新创建相同的哈希值...唯一真正的问题是使用代理的人,例如,由于集群而动态更改IP。
你可以尝试使用的一个小技巧:(仅在最近的浏览器中有效)当用户登录时,将一些东西存储在HTML5本地存储中。修改 Ajax 调用以从本地存储提供此信息。如果信息缺失/无效,则可以使整个会话失效。但是你必须确保,检查只应用于来自HTML5浏览器的请求。
希望这有帮助一点。