将websockets连接映射到数据库中用户的最佳方式是什么



我想映射数据库中与用户的websocket连接,目前有这样的东西:

function connectToNotifServer(){
var conn = new WebSocket('ws://localhost:8080');
conn.onopen = function(e) {
alert("Connection established!");
conn.send(JSON.stringify({user_id: sessionStorage.getItem("user_id")}));
};
conn.onmessage = function(e) {
alert(e.data);
};
conn.onclose = function(e) {
alert("Connection closed!");
};
return conn;
}

然后我有了一个PHP websockets服务器,它保存了到user_id的连接映射。

然而,我认为存在一个安全缺陷,因为用户可以简单地在user_id中注入他想要的任何值,并模拟另一个用户。有没有更好的方法可以保持这种映射,但不发送user_id或以其他方式发送?

感谢

您发送的任何"内置"到javascript的内容至少都可以被复制和复制。验证用户对服务器端网络套接字的凭据的唯一方法是PCP网络套接字服务器需要类似"用户名/密码"的东西,然后它会在服务器端检查并仅为该网络套接字保留。即,您必须要求用户输入此信息。

最新更新