socket.io使用安全吗?

socket.io使用安全吗?,socket.io,Socket.io,我正在考虑开始学习node.js和socket.io,但首先我有一个问题。首先使用socket.io安全吗?socket.io站点中的一个示例: <script src="/socket.io/socket.io.js"></script> <script> var socket = io.connect('http://localhost'); socket.on('news', function (data) { console.log(d

我正在考虑开始学习node.js和socket.io,但首先我有一个问题。首先使用socket.io安全吗?socket.io站点中的一个示例:

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>

var socket=io.connect('http://localhost');
socket.on('news',函数(数据){
控制台日志(数据);
emit('my other event',{my:'data'});
});
看看代码,似乎使用firebug之类的标准工具,您可以轻松更改发送到服务器的数据,如果我想创建一个多人游戏,这将成为一个问题,因为我将传递不应修改的数据,例如:项目索引、怪物索引等


抱歉,如果我听起来很笨,因为我还没有开始学习socket.io。

正如@SLaks所说,无法验证客户端是否正在修改他们的数据。因此,需要在任何事务中进行服务器验证。最好只在服务器上进行大多数游戏计算。 你是对的,使用Javascript,潜在的作弊者更容易利用游戏,因为他们只需点击F12就可以开始黑客攻击。常规比赛要复杂得多,但仍然很有可能。
保护自己不受不聪明的黑客攻击的一种方法是缩小游戏的JS代码。

任何从客户端到服务器的通信都可以修改。从技术上讲,如果修改发送的包,是的,但在这种情况下,甚至没有做到这一点,这就是为什么我问使用它是否安全。如果像你说的那样,那就意味着socket.io对于在线游戏和几乎任何客户端来说都不是一个可行的选项。。。那是什么?你的问题毫无意义。从根本上讲,从客户端进行安全通信是不可能的。你总是需要确认客户没有撒谎。这与Socket.io无关。