gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 15:03:37 24 4
gpt4 key购买 nike

我想向 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.
});

再说一次,不要。相反,传递一些不可执行的数据,然后可以以有限数量的非恶意方式进行解释。

编辑:抱歉,将其解释为您正在服务器上执行代码。但是 client<-> client 仍然容易受到 XSS 攻击。

关于javascript - 想要将 javascript 代码发送到 socket.io 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6183916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com