我使用eclipse做了一个游戏。 我有一个服务器程序和客户端程序。 客户端使用套接字服务器进行通信。 如果客户端开始发送其用户名和密码的服务器。 如果组合存在,客户端可以与服务器通信。 和客户不断读取游戏中的其他人的水平,并不断将自己的级别。
我的问题:如何保护密码或者是它已经安全了吗? 可以在客户端不仅使自己的Java程序,并使用现有的用户名和密码与服务器进行通信,并比发送例如,他是100级了。 如果是如何解决这个问题? 是否有任何其他的事情,我需要保护?
我使用eclipse做了一个游戏。 我有一个服务器程序和客户端程序。 客户端使用套接字服务器进行通信。 如果客户端开始发送其用户名和密码的服务器。 如果组合存在,客户端可以与服务器通信。 和客户不断读取游戏中的其他人的水平,并不断将自己的级别。
我的问题:如何保护密码或者是它已经安全了吗? 可以在客户端不仅使自己的Java程序,并使用现有的用户名和密码与服务器进行通信,并比发送例如,他是100级了。 如果是如何解决这个问题? 是否有任何其他的事情,我需要保护?
保持敏感状态的服务器程序,并在客户端请求的当前值。 然后你在服务器控制。
如果有人有有效的凭据,然后他们可以做任何你的协议允许用户在他们的范围内做的。 这是你必须从服务器程序,以防止影响着整体完整性客户端意外操作控制。
...可我知道,如果客户端程序是原来的我做了?
不,你不能......除非你控制在其上安装客户端程序和运行执行平台。
但如果你通过佩卡推荐的方式,也没关系。 具体而言,如果在该状态下执行的重要状态和行动是由服务器端处理,那么您可以在这样一种方式,如果用户破解客户端也没关系实现它。
但在实践中,很多游戏的互动性取决于国家和UI之间的快速互动。 把状态的另一个系统上将会导致与“滞后”的问题,除非你能缓解这一点。
如果是服务器驱动的多玩家游戏,你可以设计客户端应用程序请求服务器发回服务器只解密一级重点和客户端可读的水平号码或钥匙。 并在下一阶段的变更请求,使客户端发送先前接收电平键(即电流)和其他任何参数的要求,以确定客户端的会话状态。
有了这样服务器只解密一级重点,客户不能对其进行修改,并在游戏水平的跳跃请求。 反过来服务器,将发回与下一级密钥和其他相关信息到客户端继续。
虽然有可能存在许多活动客户端会话,但以确认和验证他们应该在服务器上存在这样的服务。