【发布时间】:2011-07-02 15:36:41
【问题描述】:
我目前正在使用 html5 画布和 websockets 构建一个包含游戏的网页。我有一个用 perl 编写的 websocket 服务器,在 server:3000 上运行。在服务器上我也安装了apache,并做了一个用户可以访问的网站:http://server/。此页面上的 javascript 创建一个到 ws://server:3000 的 websocket
连接正常,我可以从浏览器发送消息并获得响应,现在所有内容都显示在 div 中。我发送的消息现在只有“消息:...”,因此服务器知道这是一条消息,并向当前连接到“游戏”的所有用户输出“...”。
现在的问题是任何人都可以编写自己的客户端来连接到 ws://server:3000 并发送/接收适当的消息。这样他们会使用我的后端,而不是我的客户端(我希望他们只在http://server/ 玩)。
如何确保只使用我的客户端?主要担心的是作弊。您可以编写一个连接到端口并通过发送消息并解释它接收到的消息来为您播放的机器人......如何克服这个问题?
【问题讨论】:
-
当然不能授权客户;几乎按照定义,客户是您无法控制的。但是,您可以授权来自客户端的消息。也许这就是你想要的?