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

我的javascript/html和node.js逻辑在不同的服务器上-它们可以安全地交互吗?,javascript,php,node.js,security,websocket,Javascript,Php,Node.js,Security,Websocket,服务器A是标准的apache/php Web服务器。它向浏览器提供HTML/Javascript,浏览器使用WebSocket连接到服务器B和node.js服务器 它看起来是这样的:服务器A http请求->浏览器WebSocket->服务器B 有没有办法在服务器B上验证服务器a是请求源 我的理解是HTTP referer很容易被欺骗。我曾考虑让PHP获取一个一次性使用令牌,以允许javascript代码证明其身份,但破解它就像加载禁用javascript的真实页面并提取令牌一样简单 这对我来说

服务器A是标准的apache/php Web服务器。它向浏览器提供HTML/Javascript,浏览器使用WebSocket连接到服务器B和node.js服务器

它看起来是这样的:服务器A http请求->浏览器WebSocket->服务器B

有没有办法在服务器B上验证服务器a是请求源

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


这对我来说真的不是一个专业领域,所以我非常感谢任何建议-谢谢

好的,我从来没有用JS做过这件事,但是它可以很好地与中央身份验证系统配合使用:

1个用户连接到服务器A并验证密码,例如

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

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

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

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


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

仅需确认,服务器A连接到服务器B-用户连接到哪台服务器?预共享机密、加密、数字签名和公钥/私钥,有很多方法可以在点对点时保护通道。这两台服务器可能需要彼此直接通信,或者需要一个受信任的第三方来建立信任。如果中间有一个客户端可以以某种黑客方式操纵请求,那么事情就复杂得多。如果您保护有效负载并且它是防篡改的,那么客户做什么都无关紧要,除非他们可以选择不发送内容。@ZackNewsham-对不起,我不清楚。服务器A向用户提供一个HTML/Javascript页面,然后用户通过WebSocket连接到服务器B。我想验证服务器A是否是服务器B上请求的来源。非常感谢您的帮助!:我很抱歉,如果我没有尽可能清楚-问题不涉及验证用户-我正在尝试验证请求的来源。我正在寻找一种方法来确认服务器B上的请求来自服务器a提供的页面-无论用户是否已登录。好的,结果是一样的-只需跳过身份验证部分。当用户从服务器a请求页面时,告诉服务器B期待请求。然后,当用户连接到服务器B时,他们必须提供B提供给A的号码,每个号码都绑定到特定的IP地址,每个号码只能使用一次(可选),并且只能在特定的时间段内使用(可选)