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

时间:2013-09-26 00:52:18

标签: javascript php node.js security websocket

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

好吧,我从来没有用JS做过这个,但它与中央身份验证系统的效果相当不错:

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

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

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

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

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

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