如何检查客户端程序是否是java中的原始程序

时间:2013-01-20 10:53:14

标签: java sockets

  

可能重复:
  get a good security for multiplayer game

我用服务器和客户端制作了一个程序,他们使用套接字相互通信。我在这篇博客上看到,你永远无法完全隐藏jar文件的源代码。因此,客户端不仅可以复制我的源代码并稍微调整一下。例如,我的程序说级别+ = 1;他可以做+ + 10级; 那么我的服务器程序是否可以查看客户端程序是否是我制作的程序?

2 个答案:

答案 0 :(得分:0)

你是对的。你的客户端jar可以被反编译和修改,以便向你的服务器发送任何东西 但我认为你错过了这一点。您的服务器不知道谁是访问它的客户端(除非您使用客户端身份验证,并且仍然将安全部分委派给客户端程序的用户),因此您应始终在与客户交互时进行防御性编程。例如。从不信任输入并始终验证它。在你的情况下,如果等级是10,则验证它是否是可接受的输入

答案 1 :(得分:0)

简单的解决方案:您可以覆盖客户端应用程序的类加载器并从中加载类  URL /服务器。这样你的类文件就不需要在客户端了。