Javascript 防止更换Windows.WebSocket

Javascript 防止更换Windows.WebSocket,javascript,Javascript,我怎样才能防止这样的事情 var realSocket = window.WebSocket; class WebSocket { constructor(src) { console.log("binded..."); this.ws = new realSocket(src); this.fakeMsgCb = () => {}; this.ws.onmessage = (data) => this.ms

我怎样才能防止这样的事情

var realSocket = window.WebSocket;

class WebSocket {
    constructor(src) {
        console.log("binded...");

        this.ws = new realSocket(src);
        this.fakeMsgCb = () => {};
        this.ws.onmessage = (data) => this.msg(data);
    }

    set onopen(cb) {
        this.ws.onopen = cb;
    }

    set onclose(cb) {
        this.ws.onclose = cb;
    }

    msg(data) {
        console.log("incoming ->", data);
        this.fakeMsgCb(data);
    }

    send(data) {
        console.log("outgoing ->", data);
        this.ws.send(data);
    } 

    set onerror(cb) {
        this.ws.onerror = cb;
    }

    set onerror(cb) {
        this.ws.onerror = cb;
    }

    set onmessage(cb) {
        this.fakeMsgCb = cb;
    }

    get readyState() {
        return this.ws.readyState;
    }
}

window.WebSocket = WebSocket;

可以粘贴在控制台或浏览器用户脚本中,然后他们可以轻松地记录数据?别担心,我知道我不能信任客户端,这并不是为了隐藏任何安全问题或其他任何东西,但我只是想让读取传入和传出数据变得更难一些

用户可以使用浏览器的开发工具更轻松地记录web套接字数据。不用麻烦了。@Ryan我所有的数据都是二进制的,所以他们不能保证您使用https连接到客户端,那么WebSocket将相应地使用wss连接,而不是简单的wsconnection@ScottStensland这并不能阻止使用RFC6455指定wss运行安全的代码记录和发送假数据。。。数据是加密发送的。。。只有TLS证书持有者才能解密