gpt4 book ai didi

javascript - 停止用户从控制台执行 JavaScript

转载 作者:搜寻专家 更新时间:2023-11-01 00:10:32 25 4
gpt4 key购买 nike

我一直在忙于使用 HTML5 技术创建一个小型多人游戏。我使用 Node.js 和 Socket.IO 来管理服务器端业务。

我的问题在于用户能够通过 Chrome 控制台(以及我确定的其他各种控制台)输入他们自己的 JavaScript。例如,用户可能会在控制台中输入:

socket.emit("new player", {user: username, x: localPlayer.getX(), y: localPlayer.getY()});

这将为游戏添加新玩家。我应该停止这种情况的最佳方法是什么?有没有一种方法可以捕获这些条目并简单地拒绝它们(然后拍打用户的脸)?如果我可以通过更改变量来阻止他们编辑 GUI 之类的东西,那也很好,例如:

gameStatus = "trolled lol troll client-side editing lol";

谢谢,乔尔

最佳答案

你不能那样做。

你永远不能相信来自客户的任何东西。
即使您可以通过某种方式从您的页面影响控制台,攻击者也可以编写自己的 Web 浏览器(阅读:fork Chromium)并绕过您的限制。
或者,攻击者可以在没有任何浏览器的情况下简单地手工制作 HTTP 请求。

相反,您需要验证服务器上的所有内容。
每当任何客户端做某事时,服务器都需要检查是否实际上允许该客户端执行该操作。

关于javascript - 停止用户从控制台执行 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16638164/

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