来自不受信任来源的安全ObjectInputStream.readObject

时间:2012-01-20 09:19:34

标签: java serialization

我想通过Internet从客户端向服务器发送大量Java对象。由于传输的数据量,简单的文本库解决方案(如json或xml)将无法工作。即使压缩也需要很长时间。我真的需要利用对象中存在的共享。

当然我不想自己实现完整的序列化实现。

一种可能的解决方案是在Java中使用Object serialization。因为我无法完全信任客户端,所以这会造成问题,因为恶意客户端可以在服务器上实例化一些奇怪的对象。

一种可能的解决方案是覆盖ObjectInputStream.resolveClass。由于我只会从一组有限的类中传输对象,因此我可以轻松检查正在解析的类是否属于该有限集。

你们这个想法可能会漏洞吗?你自己做过类似的事吗?

0 个答案:

没有答案