【发布时间】:2011-11-17 01:06:05
【问题描述】:
我正在开发一个将使用 HTML5 套接字与其他服务器进行通信的站点。那时我们的用户将登录,我不能在其他服务器上编码。我在服务器端使用 PHP。我不知道其他服务器是否有 PHP。客户说 PKI 是一种解决方案。因此,如果用户在我们的服务器上登录,那么我开始使用 HTML5 套接字与其他服务器进行通信以发送和接收数据。那么其他服务器如何对它们进行身份验证呢?我还认为我可以拥有一个通过 HTML5 套接字发送的用户密钥(如 32hash 格式),同时其他服务器验证通信,然后开始与该用户合作。所以客户说黑客可以通过网络看到数据,所以我认为 SSL 可以解决这个问题。你们在这种情况下有什么建议?请指教
更多细节:
我们的用户和另一台服务器将使用 apache thrift 建立连接(将使用 TCP),场景是用户将登录到我们的站点,然后我们将通过 HTML5socket 将他们连接到不同域上的 apache thrift,所以在 HTML5socket 通信中,我们将转发用户 ID 以告诉 thrift 服务器这是哪个用户,所以没问题。但是有两个问题,
- 由于 HTML5sockets 位于客户端,因此黑客可以创建他/她自己的套接字并以相同的方式连接到该服务器并使用某些人的 id,因为这些只是简单的整数。
- 如果我们要在数据中附加一些东西,那么坐在网络上的黑客就可以得到它,就像一些黑客为了会话劫持所做的那样。
这就是为什么我不确定使用某种 SSL 或 TLS 是否会解决问题或某些 PKI 或其他数字证书的原因。所以这就是我在这里问这个的原因。
谢谢
【问题讨论】:
-
PKI 不是真正的解决方案,它不仅仅是完全矫枉过正,它根本不是适合这项工作的工具。真正的问题是您没有提供足够的信息来回答这个问题。谁在验证客户端?为什么?你知道什么是跨域代理吗?
-
@Rook 好的,我已经添加了更多细节,所以你现在可以告诉一些更好的事情吗?