Type Registration & Security
This page covers type registration mechanisms and security configurations.
Type Registration
In strict mode, only registered types can be deserialized. This prevents arbitrary code execution:
import pyfory
# Strict mode (recommended for production)
f = pyfory.Fory(strict=True)
class SafeClass:
def __init__(self, data):
self.data = data
# Must register types in strict mode
f.register(SafeClass, typename="com.example.SafeClass")
# Now serialization works
obj = SafeClass("safe data")
data = f.serialize(obj)
result = f.deserialize(data)
# Unregistered types will raise an exception
class UnsafeClass:
pass
# This will fail in strict mode
try:
f.serialize(UnsafeClass())
except Exception as e:
print("Security protection activated!")