1

我是网络应用程序开发的新手。

基本上,我有一个基于 GWT 的网络应用程序。用户首先需要登录。在成功验证自己后,他将被带到第二个页面(实际上是同一页面中的另一个 GWT 视图)。

登录将从另一个 Web 服务生成一对密钥。这些密钥将用于将来与 Web 服务的通信,例如:

   client -> server => web service

现在问题来了,我无法将密钥对保存在数据库中。我该怎么办?

有人告诉我,我可以将密钥放入 cookie 中并发送回客户端。每次客户端提出请求时,cookie 都会发送到服务器。

我还被告知将密钥设置为会话密钥并将它们发送给客户端。

我很确定这两种方法有什么不同。它们适用吗?还是安全的?

非常感谢

4

2 回答 2

2

两种方法都适用。第一个(使用cookies)将依赖于用户端(它的缓存)。第二个,将数据保存在服务器端(会话)。通常(尽管有争议),您永远不会信任客户。如果客户对他的浏览器进行了清晰的缓存怎么办。

即使是为了安全(我不是这里的专家),我认为将数据存储在服务器上总是更安全。

于 2013-03-19T21:53:59.920 回答
1

您可以同时使用 cookie 和 session 或两者的组合来实现此目的。Cookie通常在您启动应用程序时创建(您也可以在需要时创建它)。这样做的缺点是,它是暂时的。一旦您清除缓存或 cookie,您创建的任何 cookie 都将被删除。如果您将其存储在服务器端,即,session您必须确保为每组用户创建一个单独的键值对,因为许多用户可以连接到同一台服务器。最好的方法是同时使用这两个选项。即,保存 cookie 并验证会话 ID。

此链接将帮助您了解如何创建 cookie 和会话。

于 2013-03-20T05:03:22.440 回答