Os seguintes tópicos são abordados:
- Validar os dados de entrada
- Proteger a aplicação web contra cross site scripting
- Evitar "command injection"
- Tratar corretamente todos os erros da aplicação
- Validar a origem das requisições
- Usar objetos imutáveis
- Limitar o acesso às variáveis, classes e métodos
- Tornar todos os métodos e classes “final”
- Não usar o escopo de pacote para proteger a classe contra acessos indesejados
- Impedir a clonagem dos objetos
- Usar classes não serializáveis
- Usar classes não desserializáveis
- Não armazenar informações confidenciais no código do programa
- Não comparar classes por nome
- Não usar classes internas (“inner class”)
- Usar os mecanismos de autenticação dos contêineres J2EE
- Usar sockets com criptografia SSL
- Proteger os arquivos criados
- Especificar o diretório onde serão criados os arquivos temporários
- Verificar condições de “overflow”, “underflow” e conversões de tipos numéricos
- Declarar as variáveis estáticas públicas como “final”
- Não armazenar vetores recebidos como parâmetros
- Apagar dados críticos da memória
- Controle de acesso em aplicações web
- Usar os mecanismos de tratamento de exceções
- Verificar métodos nativos (“native methods”)
- Validar unboxing para tipos primitivos
Nenhum comentário:
Postar um comentário