我正在考虑开始学习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。
答案 0 :(得分:1)
正如@SLaks所说 - 无法验证客户端是否未修改其数据。因此,需要在任何事务中验证服务器。最好只在服务器上进行大多数游戏计算。 你是对的,使用Javascript,潜在的骗子更容易利用游戏,因为他们可以点击F12并开始黑客入侵。常规游戏要复杂得多,但仍然很有可能。 一种可以保护自己免受聪明黑客攻击的方法是缩小游戏的JS代码。