2014-02-08 30 views
1

我期待映射的WebSockets与数据库中的用户连接,并具有目前是这样的:将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或以其他方式发送?

感谢

回答

1

任何你发这是“建立在”以您的JavaScript可能,至少,被复制和复制。验证服务器端websocket的用户凭据的唯一方法是PCP websocket服务器需要“用户名/密码”之类的东西 - 然后它会检查服务器端并仅保留该WebSocket。 即您将不得不要求用户输入此信息。

相关问题