Início‎ > ‎

Usar classes não serializáveis

O perigo da serialização é permitir que adversários tenham acesso ao estado interno dos objetos, mesmo que as variáveis estejam declaradas como private. Um objeto poderia ser serializado em um vetor (array) de bytes para ser lido. O vetor vai incluir todo o estado do objeto, incluindo as variáveis declaradas como private, que estarão facilmente acessíveis, e o estado de todos os objetos referenciados pelas variáveis do objeto original.

Para evitar isso, torne as suas classes não serializáveis, implementado o seguinte método, que é declarado como final para evitar que seja redefinido em alguma subclasse (veja item “Tornar todos os métodos e classes “final””):

private final void writeObject(ObjectOutputStream out)
throws java.io.IOException {
        throw new java.io.IOException("Object cannot be serialized");
}

Comments