我是后期的新手。我能想到的只有这样:
现在安全吗?是否符合逻辑?实际发生了什么。
使用的方案:
这适用于未登录的用户。基本上,用户访问我的网站,点击需要时间的东西..所以用户被重定向到一个等待gif的页面,同时使用ajax(长轮询)服务器请求结果。现在要区分来自多个用户的请求,我认为这将起作用。这很重要,因为我将要发回的数据将来自第三方。
答案 0 :(得分:3)
如果你想要:
,你必须事先做出决定或
第一个可以使用服务器或客户端生成的cookie来完成,该cookie是任何全局唯一值。然后,您可以将该ID用作数据库中的密钥,以获取用户在任何给定请求上的服务器端设置/数据。在node.js中,有许多与会话相关的NPM模块将自动处理为您生成的sessionID。第一种方法的问题在于它依赖于在用户浏览器中保存cookie值。 cookie不仅可以是时间的(它们可以被清除),而且它们只能在一个特定的浏览器中设置。
如果您只计划在一个会话期间使用它,那么第一个方法应该可以正常工作。通常将时间值(例如Date.now()
)与随机数组合用于唯一ID。由于在同一ms中不能处理两个请求,因此可以保证唯一的id值。添加随机数以使其无法预测。其他NPM会话模块提供更多功能,如加密密钥等......
第二种方法需要某种标识符,用户必须输入该标识符才能知道它是哪个用户(通常是电子邮件地址)。如果您不希望其他人仅通过了解其用户ID来模拟用户,那么您还需要输入密码。这实际上需要在您的网站上进行注册过程,用户最终会获得用于登录您网站的用户ID和密码。
代表用户看到用于短期存储的第一种方法并不罕见。例如,您未注册的网站上的购物车。
具有用户登录的所有站点都使用第二种方法。