怎么防止workerman的地址被别的网站监听

独白

例如我的服务器监听的网址是ws://abc.xxxxxx.C om:7272,然后怎么让这个地址只有xxxxxx.C om这个网站和他的子域名能监听

阅读 1630
1个回答

walkor

可以利用websocket协议的onWebSocketConnect回调来处理。
代码类似

$gateway->onConnect = function($connection)
{
    $connection->onWebSocketConnect = function($connection , $http_header)
    {
        // 可以在这里判断连接来源是否合法,不合法就关掉连接
        // $_SERVER标识来自哪个站点的页面发起的websocket链接
        if($_SERVER != 'http://chat.workerman.net')
        {
            $connection->close();
        }
        // onWebSocketConnect 里面$_GET $_SERVER是可用的
        // var_dump($_GET, $_SERVER);
    };
};

以上websocket协议说明参考手册:http://doc3.workerman.net/appendices/about-websocket.html

  • 暂无评论