棘轮如何检查用户是否未获得授权

时间:2018-01-30 10:52:58

标签: javascript php websocket ratchet phpwebsocket

目前方法onOpen包含以下代码

public function onOpen(ConnectionInterface $conn)
 {
        // store the new connection
        $this->clients->attach($conn);
       // echo "someone connected\n";
}

我想添加授权数据(令牌)以忽略黑客请求。

我想怎么做:

方法onOpen获取参数“token”并检查用户是否已获得授权。

如果用户是crasher,则该方法不会将此用户添加到客户端列表。

因此,未经授权的用户将无法接收更新。

我知道我可以做以下

在javascript中:

new WebSocket('ws://server.com:8080?token=secret')

在php中:

public function onOpen(ConnectionInterface $conn)
{
    $querystring = $conn->httpRequest->getUri()->getQuery();
    parse_str($querystring,$queryarray);

    if(!isValid($queryarray['token'])) {
      return;
    }

    // store the new connection
    $this->clients->attach($conn);
    // echo "someone connected\n";
}

但我认为这不安全。

你怎么看?你能帮帮我吗?

也许有其他方法可以检查授权用户?

0 个答案:

没有答案