识别/验证Websocket上的客户端

时间:2019-02-18 23:49:14

标签: javascript php sockets websocket

我正在用php创建一个简单的套接字服务器。但是我有一些怀疑,因为这是我第一次做这样的事情。我的问题是如何识别客户端,这也许是身份验证系统。

到目前为止,我已经尝试过:

  • 饼干
  • 哈希

服务器代码:https://www.codepile.net/pile/vBZP9xkq

客户代码:https://www.codepile.net/pile/YlD2JDjB

饼干

当我开始创建服务器时,我认为不需要身份验证系统,因为我拥有登录站点,原则上套接字将共享相同的cookie,这样,在套接字服务器上,我将拥有访问客户端会话。

所以他知道套接字X是客户端X。

但是让我惊讶的是,标题中出现了一个不同的phpsessid。

PHPSESSID=7fo97nhaqfgir55ar17cr8c364 // php and js (site)
PHPSESSID=isjbjik06p0d8srm4j1ccptj2b // socket

它们有什么不同之处?

哈希

这是我的第二种方法,向套接字地址添加参数:

  • mysocket.com:9000/?h=123456789

但是我很快意识到,在套接字服务器上我什么都抓不到,标题和变量$ _SERVER和$ _REQUEST没有参数。

后来我知道它不会通过,因为它不是http请求,因此它不携带此信息。

结论

此刻我有点迷茫,我不知道如何识别进入套接字的客户端,因为我拥有的唯一信息是ip,这是不切实际的,因为在同一个ip中可以有X客户端。

有人可以向我解释对套接字进行身份验证的正确方法吗?

0 个答案:

没有答案