有没有办法限制从 Java 中的 ObjectInputStream 读取的最大缓冲区大小?
如果很明显,所讨论的对象是恶意制作的巨大对象,我想停止反序列化。
当然,还有 ObjectInputStream.read(byte[] buf, int off, int len),但我不想遭受分配的性能损失,比如 byte[1000000]。
我是不是漏掉了什么?
最佳答案
你写一个FilterInputStream
如果它发现它从其底层流中读取了超过一定数量的数据,它将抛出异常。
关于java - 如何限制通过 ObjectInputStream 从 Socket 读取的最大大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1249475/