【问题标题】:Uniquely identifying a user from a POST request with node.js使用 node.js 从 POST 请求中唯一标识用户
【发布时间】:2015-12-02 06:29:12
【问题描述】:

我正在制作一个利用语音通信的浏览器游戏,在浏览器中录制音频我正在使用wami-recorder,它使用闪存向服务器发送一个带有录制音频的 POST 请求,只是它似乎没有让我可以控制请求。

我的游戏服务器是用 node.js/express 编写的,它需要能够从接收到的音频中识别客户端,并将其与来自 socket.io 的正确 Web 套接字配对

我考虑过使用 ip 地址,但是如果有多个客户端具有相同的地址,它就行不通。我还考虑为客户端分配一个唯一的 URL(wami 让我做的唯一事情之一),以便他们将音频发送到,但我不希望该 url 以某种方式被盗并且其他人有能力向它发送音频

所以我想知道 express.js 中的发布请求是否可以始终如一地识别客户端。

【问题讨论】:

  • 您通常的选择是在每个发布请求中包含一条数据来识别用户,或者让用户“登录”并设置一个识别用户的 cookie,并且应该自动发送 cookie发布请求,以便您可以检查 cookie 服务器端以查看发送的用户。
  • 我无法控制发布请求,所以我无法发送一条数据。
  • 然后,您可以在post前设置cookie,系统会自动将cookie包含在post请求中。
  • 我让它工作了!非常感谢,你想把它放在答案中以便我接受吗?

标签: javascript node.js sockets post express


【解决方案1】:

您通常的选择是:

  1. 在每个发布请求中包含一条数据以识别用户
  2. 让用户“登录”并设置一个标识用户的 cookie,该 cookie 应与 post 请求一起自动发送,以便您可以检查 cookie 服务器端以查看发送的用户。

如果,正如您在 cmets 中所说,您不能影响随请求发送的数据,那么您可能需要在发送请求之前设置一个识别用户的 cookie,并且浏览器将自动包含cookie 与请求,然后您的服务器端代码可以检查请求附带的 cookie 以查看它是哪个用户。这是一个“登录”到网站的常用方式,然后服务器会跟踪给定请求来自哪个用户。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-03
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多