通过自定义客户端(称之为game.exe)运行大量游戏,但必须与服务器通信。开发人员如何确保只接受来自自定义客户端的连接,而不是任何其他请求,例如来自Web浏览器?
Ex:我玩game.exe,我的请求认为没问题。
然后我使用我的网络浏览器或其他一些POST实用程序向该游戏服务器提交请求,但游戏服务器会忽略它以防止作弊。
这是通过编码到game.exe并随每个请求发送的秘密字符串完成的吗?似乎很容易用数据包嗅探器拦截它们。同样适用于客户端SSL证书,有人可以轻松找到游戏文件中的密钥文件并伪造请求。
答案 0 :(得分:1)
通常,作为独立应用程序的游戏 - 例如在Windows上具有.exe扩展名 - 不会使用http作为其协议,与Web浏览器不同。
无论使用何种协议,游戏通常都会在建立连接时发送凭据(通常是帐户凭据,类似于用户名和密码)。许多游戏都使用持久的TCP连接,所以这只需要在登录游戏时完成。