繁体   English   中英

如何将数据发送给将在网页浏览之间保留但不会重新发送到服务器的用户?

[英]How can I send data to a user that will persist between web page views, but which won't be resent to the server?

我想在用户登录网站后向用户发送一些数据,这是一种用于加密的秘密字符串。

我想允许他们在网站上浏览,我希望能够在他们的机器上使用javascript来加密数据,然后再将数据发送回服务器。 注意:这是使用SSL的补充。

我不想为此使用cookie,因为它们会在每次请求时发送到服务器。

因此,我的目标是在整个会话期间只有一些数据将通过网络发送,但是当用户访问多个页面时,javascript将能够访问此秘密。 要明确我永远不想看到用户的解密数据,也不能

这可能,可能使用HTML5持久性或其他什么? 我需要一个跨浏览器兼容的解决方案,理想情况下可以使用IE6(因此可能会击落任何HTML5魔法)。

谢谢

如果您担心窥探,请使用HTTPS。 这听起来像一个非常脆弱的加密机制,为什么不去更“传统”呢?

我怀疑你能做到这一点。 会话通常与cookie(即jsessionid)绑定,因此将其绑定到“会话”(即您说“将在整个会话中仅通过线路发送一些数据”),并将其提供给用户,你需要把它放在一个cookie中。

您可以使用像Flash或Silverlight这样的RIA插件。 两者都有本地存储数据的机制,无需在每次请求时将数据发送回服务器。 Java也可能。

如何将用户保持在安全页面上并使用ajax调用发回加密数据?

我还记得看到一个php脚本,它会根据某些条件将给定页面加载到iframe中。 我认为我看到的示例只是一个演示,您从选择的表单中选择了一个页面。 包含iframe的页面可用于保留数据。

我想我将从银行业界获取灵感并在服务器上执行所有加密。 我可以想到一种方法,我可以从用户的密码生成私钥,这使我无法在没有用户登录的情况下解密数据。

我不认为我的初步问题有一个强有力的解决方案,但感谢您的回复。

您可以在支持HTML5的浏览器(IE8,FF3 +,Chrome,Safari 4 +,Opera 9+)上使用localStorage 您可以回退到IE6和IE7的userData 这样可以在所有平台上保证最少64 KB的数据(最小用户数据大小)。

有一个库,它封装了本地存储数据的各种策略: PersistJS

我使用它来存储客户端状态,不需要将每个请求发送到服务器(例如可调整大小的面板尺寸)。 我不认为它可以提供任何额外的安全性,因为任何可以解密SSL流的攻击者都可以获取您的数据,因为他们可以观察您的所有javascript代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM