我需要在页面访问之间存储分页组件的状态(具体而言,我需要保存当前查看的页面,每页显示的项目数量以及过滤器/搜索标准文本)。实现安全客户端会话存储(网站)的模式
起初我想过使用localStorage来创建一个客户端本地会话。但是这在IE8中不起作用,因此我在IE8中使用会话cookie。但过滤器/搜索条件是敏感数据,所以会话cookie不可接受。
现在我正在考虑使用服务器端会话存储,但我想使实现透明。这个想法是创建一个名为“本地会话”的全局JavaScript对象(或jQuery插件)。本地会话实现将发送每个请求的内容(使用jQuery AJAX beforeSend回调)。因此,每个请求都会发送客户“本地会话”的新状态。
服务器将包含所有本地会话数据与每个新鲜渲染的页面(即仅用于非AJAX响应)。
我正在使用ASP.NET MVC,它将很容易创建一个全局过滤器,它将收集此“本地会话”数据并将其存储在服务器端会话中。
两个问题:
- 被存储敏感数据的JavaScript对象比任何存储在会话cookie这个数据更安全?
- 将本地会话内容作为头部发送(我可以做一些优化,只在实际发生变化时才发送,甚至只发送更改)是否是个好主意。
- 实施此要求的其他建议?
注意:使用历史记录API在IE8中不起作用,它也不是我所需要的(即使通过链接返回页面,而不是通过单击BACK按钮,页面状态仍应保留) 。
注意:这将是很好,如果解决方案将工作,当cookies被禁用,但这不是一个严格的要求,但。
支持IE8杀死我,我感到你的痛苦 – theBigChalk