我正在开发一个用于学习目的的简单网页游戏。这是经典的tic tac toe游戏多人游戏。每个单元格都标有1到9的数字,并将其传送到服务器(Node / Express)我使用以下方法
io.emit("mark", 3);
其中 io 是 socket.io 对象,3表示第一行和第三列的单元格。
它可以工作,但由于socket.io框架主要在客户端上运行,因此作弊就像按F12一样简单。实际上我试图打开控制台并向服务器发送一些动作,它接受了所有动作。我怎样才能防止这种注射? 我在网上找到的唯一信息是this Stack Overflow question,但它只涉及身份验证安全性,而不涉及通用请求,所以它对我没有帮助。 我想到的唯一想法是查看从服务器收到的命令是否与游戏的上下文一致。实际上它可以适应这些简单的游戏。但是我该如何处理更复杂的应用程序呢?我怎样才能防止一些处境不利的人发送数以千计的请求,以及服务器崩溃的风险?
谢谢