javascript - 使用 Node.js 从 POST 请求中唯一标识用户

标签 javascript node.js sockets post express

我正在制作一款利用语音通信的浏览器游戏,在我正在使用的浏览器中录制音频 wami-recorder它使用 flash 将 POST 请求与录制的音频一起发送到服务器,只是它似乎没有给我对该请求的任何控制权。

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

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

所以我想知道是否有一种方法可以让express.js 中的post 请求一致地识别客户端。

最佳答案

您通常的选择是:

  1. 在每个发布请求中包含一段可识别用户身份的数据
  2. 让用户“登录”并设置一个用于标识用户的 Cookie,并且该 Cookie 应随 post 请求自动发送,以便您可以在服务器端检查 Cookie 以了解哪个用户正在发送。

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

关于javascript - 使用 Node.js 从 POST 请求中唯一标识用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32426146/

相关文章:

javascript - React-router-dom 重定向不适用于 withRouter HOC (react-redux)

javascript - 浏览器列表错误 : Unknown browser query `heroku create $YOUR_APP_NAME --region eudefaults`

javascript - 如何使用 node.js 和 express 将结果写入文件?

javascript - 当我更改前端(Angularjs) Controller 文件时,Gulp 重新启动服务器

node.js catch block 在等待时未按预期触发

javascript - 为什么函数要带括号?

javascript - AngularJS Ionic $timeout 显示分钟和秒

c - 如何传递结构编辑[如何存储行]

php - 如何用 C 创建一个支持 PHP 页面的网络服务器?

java - 无法在 ...\PushServer\target\Push-Server-0.12.0-capsule-fat.jar 中找到 Premain-Class list 属性