Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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
Javascript Backbone.js、Rest API和匿名会话_Javascript_Rest_Session_Backbone.js_Cookies - Fatal编程技术网

Javascript Backbone.js、Rest API和匿名会话

Javascript Backbone.js、Rest API和匿名会话,javascript,rest,session,backbone.js,cookies,Javascript,Rest,Session,Backbone.js,Cookies,我有一个主干网络应用程序,它由几个表单页组成,没有任何身份验证。 所有用户都是匿名的,但我需要一种逻辑来识别他们 实际上,这是一个比较服务 我通过CORS使用一个API来提供一些内容,例如查询车辆数据库、与保险单和地理位置相关的内容 没有关于消费数据的问题 现在的问题更多的是关于如何通过API中的多步骤表单保存匿名用户数据 目标是,每次用户单击下一步时,都会保存匿名用户数据(这是出于分析原因),并通过这些POST请求保护一点API 由于webapp是纯JS的,所以我想做如下事情: 如果cooki

我有一个主干网络应用程序,它由几个表单页组成,没有任何身份验证。 所有用户都是匿名的,但我需要一种逻辑来识别他们

实际上,这是一个比较服务

我通过CORS使用一个API来提供一些内容,例如查询车辆数据库、与保险单和地理位置相关的内容

没有关于消费数据的问题

现在的问题更多的是关于如何通过API中的多步骤表单保存匿名用户数据

目标是,每次用户单击下一步时,都会保存匿名用户数据(这是出于分析原因),并通过这些POST请求保护一点API

由于webapp是纯JS的,所以我想做如下事情:

  • 如果cookie不存在,我会在客户端生成一个带有js加密库的会话id,并将该会话id存储到一个新cookie中(过期)。然后,主干模型(会话/单例)将负责通过主干.save()将此会话id存储到redis缓存存储中。Redis密钥的到期时间将匹配cookie的到期时间。会话模型的Id属性将是会话的Id

  • 如果cookie存在。我将通过getSession谓词从API获取()会话

  • 通过这种方式,我可以跟踪每个匿名用户,将数据保存在我的API中。你认为这是一个好的模式还是太幼稚了

    现在,关于保护API。。。我卡住了

    我在考虑HMAC,但是如果秘密密钥存储在客户端(主干应用程序),为所有用户共享,那么有人可以检查js客户端代码,甚至是丑陋的代码,并找到密钥

    我读了很多关于这个的文档,但都在谈论用户名/密码/令牌方案,在我的例子中,我只有匿名用户

    也许,在REST范式中,匿名用户意味着数据不敏感

    有什么建议吗


    谢谢,

    存储在客户端的任何内容都不安全。当涉及SPA时,您通常使用用户名和密码对用户进行身份验证。一旦用户通过身份验证,您将在每个请求的头中发送授权令牌。如果我正确理解您的问题,您是否担心在用户注册时发送和检查敏感数据?如果是这种情况,最好使用安全连接。我很想知道你认为这对非主干或SPA应用程序有什么不同?您仍然可以通过HTTP、REST或非REST发送数据