在Java 8 Update 71(8u71)中,为XML最大实体大小添加了默认限制作为错误修复。但为什么这个限制是一个错误,问题是什么,如果我们正在改变这个限制,那么允许的最大尺寸是什么。
答案 0 :(得分:2)
如果您查看Release Notes,就会找到The Java Tutorials, Processing Limits的引用来解释它:
XML处理有时可能是内存密集型操作。应用程序,尤其是那些从不受信任的来源接受XML,XSD和XSL的应用程序,应采取措施,通过使用JDK中提供的JAXP处理限制来防止过多的内存消耗。
没有限制,恶意XML可能会使您的应用程序崩溃。
根据The Java Tutorials, Processing Limit Definitions,totalEntitySizeLimit
为50,000,000
,maxParameterEntitySizeLimit
为1,000,000
。
请记住,这些是实体,这些日子很少使用,所以它并没有真正影响大多数人。