要将javascript代码发送到socket.io服务器吗

要将javascript代码发送到socket.io服务器吗,javascript,socket.io,Javascript,Socket.io,我想向socket.io服务器发送一个javascript代码,以便服务器向客户端广播并执行该代码 我试着做了一个json变量,像这样,并通过socket.io发送 var sent={ 'code': function(){ console.log('javascript code'); } }; socket.send(sent); 当我在服务器上检查时,收到的消息是{},与发送给其他客户端的消息相同 这

我想向socket.io服务器发送一个javascript代码,以便服务器向客户端广播并执行该代码

我试着做了一个json变量,像这样,并通过socket.io发送

 var sent={
          'code': function(){
           console.log('javascript code');
          }

        };

socket.send(sent); 
当我在服务器上检查时,收到的消息是
{}
,与发送给其他客户端的消息相同


这段代码有什么问题,我应该如何发送javascript代码

不要这样做。您将打开所有正在侦听的客户端以防被黑客攻击

也就是说

…您可以遵循pimbdb并将函数作为字符串传入,然后在接收端使用
eval
执行它:

// on the sending client
var sent = {
    "code": "function() { /* do something not evil */ }"
}
socket.send(sent);

// on the receiving client
socket.on('message', function(data) {
    if (data.code) eval(data.code); // and pray.
});
再说一次,不要。相反,传递一些不可执行的数据,然后这些数据可以以有限数量的非恶意方式进行解释


编辑:抱歉,解释为您在服务器上执行代码。但是客户端仍然倾向于XSS。

JSON不能包含函数。您必须将其转换为字符串,然后
eval()