Protegendo Arquivos Transferidos por Upload
Varreduras de vírus, codificação/decodificação de arquivos e compactação/descompactação de dados BLOB ajudam a proteger arquivos transferidos por upload.
As interfaces das tarefas a seguir ajudam a proteger arquivos transferidos por upload no Web UI Framework e no Rich Client Platform:
- Varredura de vírus
- Codificação/Decodificação de arquivos
Varredura de vírus
É possível conectar lógica para varrer um arquivo transferido por upload para verificar a ocorrência de vírus. Use o arquivo yfs.properties para conectar o scanner. Uma implementação padrão de varredura de vírus não está disponível.
A interface de scanner de vírus inclui os métodos a seguir. Para obter mais informações, consulte o Javadoc.
- public PLTVirusScanResponse scan(InputStream stream, PLTFileHandlerObj
fileObject)
Chamado primeiro durante uploads e downloads para varrer o fluxo de entrada do arquivo no estado em que se encontra durante a solicitação de upload/download.
- public PLTVirusScanResponse scan(PLTFileHandlerObj fileObject)
Chamado somente durante uploads para permitir a varredura do arquivo gravado no diretório temporário.
Codificação/Decodificação de arquivos
O seguinte inclui informações básicas sobre cada método. Para obter mais informações, consulte o Javadoc.
- public void encode(InputStream iStream, OutputStream oStream)
Codifica o fluxo de entrada e coloca o mesmo no fluxo de saída. Chamado durante upload de arquivo.
- public void decode(InputStream iStream, OutputStream oStream)
Decodifica o fluxo de entrada e o coloca no fluxo de saída. Chamado durante o download de arquivo.
A codificação e a decodificação podem afetar o desempenho de forma negativa. Se a propriedade sc.file.upload.encoder não for configurada, a codificação e a decodificação serão ignoradas.
Compactação/Descompactação de Dados BLOB
É possível compactar e descompactar dados que são armazenados em colunas e tabelas. O conteúdo do arquivo em si, armazenado como bytes na tabela PLT_FILE_DATA, segue este mecanismo marcando a coluna como CompressionSupported=true e UseCompression=true.