Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Session GWT:在cookie中存储会话ID,然后呢?_Session_Gwt_Gwt Rpc - Fatal编程技术网

Session GWT:在cookie中存储会话ID,然后呢?

Session GWT:在cookie中存储会话ID,然后呢?,session,gwt,gwt-rpc,Session,Gwt,Gwt Rpc,我目前正在使用GWT制作一个网站,托管在AppEngine上。我用我自己的登录来实现它(我知道谷歌提供了GWT,但我需要我自己的登录系统),我一直在尝试找出会话。我找到了一些教程,其中一个我正在阅读的网站是 那里有一个关于“如何记住登录”的部分。我知道如何通过RPC调用获取会话ID并将其存储在客户机的cookie中。我不明白的是,最终在一天左右之后,用户回来了,我应该从cookie中获取会话ID并将其发送回服务器。为了安全地评估会话ID是否仍然合法,并获取有关用户的所有必要信息,我应该在服务器上

我目前正在使用GWT制作一个网站,托管在AppEngine上。我用我自己的登录来实现它(我知道谷歌提供了GWT,但我需要我自己的登录系统),我一直在尝试找出会话。我找到了一些教程,其中一个我正在阅读的网站是

那里有一个关于“如何记住登录”的部分。我知道如何通过RPC调用获取会话ID并将其存储在客户机的cookie中。我不明白的是,最终在一天左右之后,用户回来了,我应该从cookie中获取会话ID并将其发送回服务器。为了安全地评估会话ID是否仍然合法,并获取有关用户的所有必要信息,我应该在服务器上做什么

其他问题: 1.什么会使会话ID发生更改? 2.如果用户在笔记本电脑上,而用户去了其他地方怎么办。他是否仍然能够安全地重新登录,而无需再次输入登录名和密码

谢谢


~Scott

要记住登录,您需要安全地生成一个唯一的会话id。通常,该id会放在cookie中。我建议使用一个为您提供会话cookie的框架。弄错会使你的网站容易被滥用。需要考虑的事项包括:

  • 你需要担心偷饼干吗。用户的IP地址应编码在会话id中,或链接到会话id。检查每个页面访问的IP地址
  • 确保您的登录在加密会话上。否则,您将在网络上以明文形式公开凭据
  • 会话应持续多长时间。他们应该在一个固定的时间限制后暂停。这可能长达数小时或数天
  • 记住,我应该在不同的cookie上使用不同的功能。它需要包含一些可以用来识别用户的东西。根据您的安全要求,它可能需要是加密值。此cookie的超时时间可能更长
其他问题的答案如下

  • 客户端上的任何内容都不可能更改会话id。每次登录时都应重新生成会话id
  • 根据会话id的安全程度,他们可能必须登录。安全会话cookie通常对IP地址进行编码,以防止cookie被盗。如果是这样,笔记本电脑用户将需要再次登录
  • 类似问题:。
    您应该记住一件重要的事情:不要只依赖cookie—也要在请求的有效负载中传输会话ID/令牌,并将其与服务器端的cookie值进行比较。这将防止XSRF攻击。这是你应该担心的事情

    如何处理会话ID的策略取决于您对应用程序安全性的重视程度以及应用程序的类型。例如,你可以使用相同的令牌从不同的IP登录到GMail上——我认为他们允许这样做,因为用户的IP在会话中改变是很常见的。不过,他们确实添加了一项功能,允许您查看用户最近登录的IP。不要忘记使用动态IP的用户(相当多)-如果您跟踪令牌和IP,基本上不允许这些用户在会话之间保持登录

    我应该在服务器上做什么 为了安全地评估 会话ID仍然合法,请拔出 所有关于 用户

    您应该跟踪数据库中的会话ID/登录对

    什么会使会话ID发生更改

    它将过期,或者用户尝试使用未绑定到其IP的令牌登录。您也可以添加自己的规则-如登录次数等。为了增加安全性,您可以在每个新登录/会话上生成一个新会话ID/令牌(用户使用旧令牌进行身份验证,服务器检查该令牌是否有效,并将从现在起应使用的新令牌发回用户)