3

我正在考虑开始学习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>

查看代码,似乎使用像firebug这样的标准工具,您可以轻松更改发送到服务器的数据,如果我想创建一个多人游戏,这将成为一个问题,因为我将传递数据不应修改,例如:项目索引、怪物索引等。

对不起,如果我听起来很愚蠢,因为我还没有开始学习 socket.io。

4

1 回答 1

2

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

于 2014-06-01T16:58:45.350 回答