目前方法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";
}
但我认为这不安全。
你怎么看?你能帮帮我吗?
也许有其他方法可以检查授权用户?