防止非法客户的联系

时间:2014-04-24 19:38:31

标签: java security

我在Java中设置了客户端/服务器。客户端当前将计算值发送到服务器(通过套接字,除了登录/密码)以进行身份​​验证。

但是,目前没有任何东西阻止恶意反编译和重构的客户端连接,因为它需要做的就是发送相同的身份验证数据。

鉴于反编译揭示了我的客户端正在做的一切,是否真的有办法合理地阻止来自修改后的客户端的连接?在我看来,实现这一目标的唯一方法是生成一个唯一的令牌,修改后的客户端(具有相同的令牌生成逻辑)将以某种方式无法生成。

1 个答案:

答案 0 :(得分:1)

你无法真正避免虚假客户(看看专有软件/协议如何进行逆向工程),但这没有问题,因为你应该从不信任客户:检查每个请求他使得他不会引起问题。如果你这样做,即使是假的客户也必须尊重你的规则,而且根本不会成为问题。

无论如何,另一种方法是使你使用的协议被混淆,因此它不能被轻易反编译,并且协议不能被逆向工程,但你会惊讶于某些人破坏你所做的事情的能力。使代码模糊不清是很有用的,并且大部分时间都会让你失去时间。