Context-Specific Deserialization Filters in Java 17

https://feeds.feedblitz.com/~/840957113/0/baeldung~ContextSpecific-Deserialization-Filters-in-Java

Java 17 中的上下文特定反序列化過濾器功能。

1. 簡介:本教程將介紹 Java 的新上下文特定反序列化過濾器功能。我們將建立一個場景,並在實踐中使用它來確定應該為應用程序中的每種情況使用哪些反序列化過濾器。

2. 與 JEP 290 的關聯:Java 9 中引入了 JEP 290,用於通過 JVM-wide 過濾器和為每個 ObjectInputStream 實例定義過濾器來過濾來自外部源的反序列化。這些過濾器根據運行時參數拒絕或允許對象的反序列化。

3. JEP 415 中的新方法:為了更多地選擇何時和如何定義反序列化過濾器,Java 17 中引入了 JEP 415,可以在每次發生反序列化時調用 JVM-wide 過濾器工廠。這樣,我們簡化了過濾的解決方案,使它們不再變得過於嚴格或過於寬鬆。

4. 構建情境和設置:我們的情境將涉及一些在其他地方序列化的 POJO(普通 Java 對象),並由我們的應用程序通過一些不同的服務類進行反序列化。我們將使用這些來模擬可能阻止外部源潛在不安全反序列化的情況。最終,我們將學習如何定義參數以檢測序列化內容中的意外屬性。

以上是文本摘要的內容,供您參考。

via Baeldung

November 23, 2023 at 08:36PM

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *