1

我正在寻找与数据库中的用户映射 websockets 连接,目前有这样的东西:

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 或以其他方式发送?

谢谢

4

1 回答 1

1

您发送的任何“内置”到您的 javascript 中的内容至少可以被复制和复制。验证用户对服务器端 websocket 的凭据的唯一方法是让 PCP websocket 服务器要求类似“用户名/密码”之类的内容 - 然后它会检查服务器端并仅针对该 websocket 持续存在。即您必须要求用户输入此信息。

于 2014-02-08T17:52:43.913 回答