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;

}

次に、user_id への接続のマッピングを保持する PHP Websockets サーバーがあります。

ただし、ユーザーが user_id に任意の値を挿入し、別のユーザーになりすますことができるため、セキュリティ上の欠陥があると思います。このマッピングを維持するより良い方法はありますが、user_id を送信したり、別の方法で送信したりすることはありませんか?

ありがとう

4

1 に答える 1

1

JavaScript に「組み込まれている」ものを送信すると、少なくともコピーして複製することができます。サーバー側 Websocket に対するユーザーの資格情報を検証する唯一の方法は、PCP Websocket サーバーが「ユーザー名/パスワード」などを要求することです。これは、サーバー側をチェックし、その Websocket に対してのみ保持されます。つまり、ユーザーにこの情報を入力するように依頼する必要があります。

于 2014-02-08T17:52:43.913 に答える