Java 单例模式反射和反序列化漏洞解决
我们知道,及时设置了单例模式,我们将一个类的构造器私有化,我们任有可能通过反射和反序列化的手段来创建新的对象,那么废话少说,以下是解决方案
1、在私有构造中手动抛出异常,解决反射漏洞
2、添加readResoulve()方法,解决反序列化漏洞
以下是测试代码:
本文介绍如何通过在构造器中手动抛出异常和添加readResolve()方法,来防止通过反射和反序列化创建新的对象,从而加固Java单例模式。
我们知道,及时设置了单例模式,我们将一个类的构造器私有化,我们任有可能通过反射和反序列化的手段来创建新的对象,那么废话少说,以下是解决方案
1、在私有构造中手动抛出异常,解决反射漏洞
2、添加readResoulve()方法,解决反序列化漏洞
以下是测试代码:
2731
1542
855
1907
1563

被折叠的 条评论
为什么被折叠?