javascript - 我的 javascript/html 和 node.js 逻辑位于不同的服务器上 - 它们可以安全地交互吗?

标签 javascript php node.js security websocket

服务器 A 是标准的 apache/php Web 服务器。它将 HTML/Javascript 传递到浏览器,浏览器使用 websocket 连接到服务器 B(node.js 服务器)。

看起来像这样:服务器A(http请求->)浏览器(websockets->)服务器B

有没有办法在服务器 B 上验证服务器 A 是否是请求的来源?

我的理解是HTTP引用很容易被欺骗。我想过让 PHP 获取一次性使用 token 以允许 javascript 代码证明其身份,但破解它就像加载禁用 javascript 的真实页面并提取 token 一样简单。

这确实不是我的专业领域,所以我很感激任何建议 - 谢谢! :)

最佳答案

好吧,我从来没有用 JS 这样做过,但是它与中央身份验证系统配合得很好:

1)用户连接到服务器A并进行身份验证(例如密码)

2) 服务器 A 然后向服务器 B 发送一条消息,表示“用户 X 在时间 Z 从地址 Y 连接”

3) 服务器 B 将此信息保存到数据库中,并向服务器 A 返回唯一的代码

4) 服务器A依次将其返回给用户。

5) 然后,用户在请求中将此唯一代码及其用户名传递给服务器 B。

6) 服务器 B 检查该用户是否在过去 X 分钟内从该地址与服务器 A 连接。

关于javascript - 我的 javascript/html 和 node.js 逻辑位于不同的服务器上 - 它们可以安全地交互吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19017567/

相关文章:

javascript - 从 MongoDB 中的最新文档获取给定字段

php - 在php中合并两个索引数组

PHP 和 Ajax : Impossible to execute LOAD DATA LOCAL INFILE (mysql) from Ajax call

javascript - 替代 fs.readFileSync()

Node.js 和 pdfjs 'Unknown file open flag'

javascript - 未知提供者 : toasterProvider <- toaster <- RugHttpInterceptor <- $http <- ng1UIRouter

javascript - 如何将嵌套 json 属性的值分配给父对象?

javascript - 变量中的运算符字符停止 jQuery 定位

javascript - 如何在 Node 中转义 shell 命令的字符串?

php - 有谁知道为什么这个 PHP 不会将数据写入我的数据库?