1

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

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

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

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

这对我来说真的不是一个专业领域,所以我很感激任何建议 - 谢谢!:)

4

1 回答 1

0

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

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

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

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

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

5) 然后用户在请求中将此唯一代码连同他们的用户名一起传递给服务器 B。

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

于 2013-09-26T02:35:33.477 回答