Session 实现安全客户端会话存储(web站点)的模式

Session 实现安全客户端会话存储(web站点)的模式,session,cookies,session-cookies,Session,Cookies,Session Cookies,我需要在页面访问之间存储分页组件的状态(特别是我需要保存当前查看的页面、每页要显示的项目数以及筛选/搜索条件文本) 起初,我考虑使用localStorage创建客户端本地会话。但这在IE8中不起作用,所以我在IE8中使用会话cookie。但筛选/搜索条件是敏感数据,因此不接受会话cookie 现在我考虑使用服务器端会话存储,但我希望实现透明化。其想法是创建一个名为“本地会话”的全局javascript对象(或jQuery插件)。本地会话实现将在每个请求中发送其内容(在发送回调之前使用jQuery

我需要在页面访问之间存储分页组件的状态(特别是我需要保存当前查看的页面、每页要显示的项目数以及筛选/搜索条件文本)

起初,我考虑使用localStorage创建客户端本地会话。但这在IE8中不起作用,所以我在IE8中使用会话cookie。但筛选/搜索条件是敏感数据,因此不接受会话cookie

现在我考虑使用服务器端会话存储,但我希望实现透明化。其想法是创建一个名为“本地会话”的全局javascript对象(或jQuery插件)。本地会话实现将在每个请求中发送其内容(在发送回调之前使用jQuery AJAX)。所以每个请求都会发送一个新的客户端“本地会话”状态

服务器将在每个新呈现的页面中包含所有本地会话数据(即,仅用于非AJAX响应)

我使用的是ASP.NET MVC,创建一个全局筛选器将很容易,该筛选器将收集此“本地会话”数据并将其存储在服务器端会话中

两个问题:

  • 在javascript对象中存储敏感数据是否比在会话cookie中存储该数据更安全
  • 将本地会话内容作为头发送是一个好主意(我可以做一些优化,只在它实际更改时发送,甚至只发送更改)
  • 对于实施这一要求,还有其他建议吗
  • 注意:使用history API在IE8中不起作用,它也不是我所需要的(即使我通过链接返回页面,而不是单击后退按钮,页面状态也应该保持不变)


    注意:如果禁用cookie时解决方案能够正常工作,那就太好了,但这不是严格的要求。

    如果要保护发送到浏览器并存储在cookie中的内容的完整性和机密性,可以使用服务器端密钥对值进行签名和加密就像RubyonRails版本4一样


    但是,请记住,cookie可能会受到重播攻击,并且有大小限制。

    支持IE8会让我丧命,我感觉到你的痛苦