Java可序列化-序列化/反序列化是否具有安全性?

Java可序列化-序列化/反序列化是否具有安全性?,java,serialization,Java,Serialization,我有一个基于Serializable类的问题 遗憾的是,在谷歌搜索之后,我找不到任何能满足我问题的答案 以下是我正在做的: 通过UDP(DatagramPacket)向服务器发送序列化对象 Packet类是所有包都应该继承的抽象类。 数据包是可序列化的,并且它有一个生成的UUID作为静态变量。 客户端和服务器都有这个生成的UUID 服务器对对象进行反序列化,检查它是否继承了数据包,然后评估它需要正确地转换到哪个数据包类(服务器端) 我想知道序列化和强制转换对象在某种程度上是否安全;话虽如此: 如

我有一个基于Serializable类的问题

遗憾的是,在谷歌搜索之后,我找不到任何能满足我问题的答案

以下是我正在做的:

通过UDP(DatagramPacket)向服务器发送序列化对象

Packet类是所有包都应该继承的抽象类。 数据包是可序列化的,并且它有一个生成的UUID作为静态变量。 客户端和服务器都有这个生成的UUID

服务器对对象进行反序列化,检查它是否继承了数据包,然后评估它需要正确地转换到哪个数据包类(服务器端)

我想知道序列化和强制转换对象在某种程度上是否安全;话虽如此:

如果有人修改了客户端数据包类并添加了新的方法和字段等等,那么将该对象强制转换到服务器端对象是否仍然合格


希望可以很好地解决这个问题。

是的,当可序列化对象公开私有变量时,它们会带来安全隐患。 参考:

关于添加新的字段和方法,有些是兼容的,有些是不兼容的。请查看此帖子以了解更多详细信息。

有关更多详细信息,请参阅:


我希望这就是你想要的

这个链接可能会帮助你:我不明白你认为修改一个类来添加方法和字段与安全性有什么关系……你读过我的帖子吗?我正在从客户端向服务器发送一个表示游戏数据包的序列化对象。有人修改对象客户端并尝试发送它。我想问的是Serializable如何适用于这个一般领域,因此我说的是安全性。我觉得你对这个话题一点也不了解。你读过我的帖子吗。。。我认为你根本不了解这个话题。Sparta,我相当肯定EJP比您更了解序列化。或者几个。在我读到你的评论之前,我会一直怀疑你。你的问题相当混乱,澄清一下肯定会有好处。祝你好运,能以这样的态度得到答案。已经得到了答案。如果你不能理解这么简单的问题,我不知道你能理解什么。Parth Satra是一位相当新的成员,他非常理解这一点,可以回答这个问题。我不喜欢贬低别人的评论。