我需要在页面访问之间存储分页组件的状态(具体来说,我需要保存当前查看的页面,每页显示的项目数,以及过滤/搜索条件文本)。
首先,我考虑使用localStorage创建客户端本地会话。但这在IE8中不起作用,所以我在IE8中使用会话cookie。但过滤/搜索条件是敏感数据,因此会话cookie不可接受。
现在我正在考虑使用服务器端会话存储,但我想让实现透明化。我们的想法是创建一个名为“本地会话”的全局javascript对象(或jQuery插件)。本地会话实现将发送每个请求的内容(使用jQuery AJAX beforeSend回调)。因此,每个请求都会发送一个新的客户状态“本地会话”。
服务器将包含每个新呈现页面的所有本地会话数据(即仅用于非AJAX响应)。
我正在使用ASP.NET MVC,很容易创建一个全局过滤器来收集这个“本地会话”数据并将其存储在服务器端会话中。
两个问题:
注意:使用历史记录API在IE8中不起作用,它也不是我所需要的(即使我通过链接回到页面而不是单击“返回”按钮,页面状态也应该保留)。
注意:如果在禁用cookie时解决方案能够正常工作会很好,但这并不是一个严格的要求。
答案 0 :(得分:0)
如果您想保护发送到浏览器的内容的完整性和机密性,以便存储在cookie中,您可以使用Ruby on Rails版本4中的服务器端密钥对该值进行签名和加密。
但是,请记住,cookie会受到重播攻击,并且存在大小限制。