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