服务器A是标准的apache / php网络服务器。它将HTML / Javascript传送到浏览器,该浏览器使用websockets连接到服务器B(node.js服务器)。
它看起来像这样:服务器A(http请求 - >)浏览器(websockets->)服务器B
有没有办法在服务器B上验证服务器A是请求的来源?
我的理解是HTTP引用程序很容易被欺骗。我想过让PHP获取一次性使用令牌以允许javascript代码证明它的身份,但是攻击它就像加载禁用javascript的真实页面并提取令牌一样简单。
这对我来说真的不是一个专业领域,所以我很感激任何建议 - 谢谢! :)
答案 0 :(得分:0)
好吧,我从来没有用JS做过这个,但它与中央身份验证系统的效果相当不错:
1)用户连接到服务器A并进行身份验证(例如密码)
2)然后,服务器A向服务器B发送一条消息“用户X在时间Z从地址Y连接”
3)然后,服务器B将此信息保存到数据库,并将唯一代码返回给服务器A
4)服务器A又将其返回给用户。
5)然后,用户将此唯一代码及其用户名传递给请求中的服务器B.
6)服务器B在最后X分钟内检查该用户是否从该地址与服务器A连接。