Protección de archivos cargados

Las exploraciones de virus, la codificación y descodificación, así como la compresión/descompresión de datos BLOB contribuyen a proteger los archivos subidos.

Las interfaces de las tareas siguientes ayudan a proteger los archivos subidos en la infraestructura de interfaz de usuario web y en Rich Client Platform:

  • Exploración de virus
  • Codificación/decodificación de archivos

Exploración de virus

Puede conectar lógica para explorar la existencia de virus en los archivos subidos. Utilice el archivo yfs.properties para conectar el explorador. No está disponible una implementación predeterminada de la exploración de virus.

La interfaz del explorador de virus incluye los métodos siguientes. Para obtener más información, consulte el Javadoc.

  • public PLTVirusScanResponse scan(InputStream stream, PLTFileHandlerObj fileObject)

    Se llama primero durante las operaciones de carga y descarga para explorar la corriente de entrada de archivos como están durante la solicitud de carga/descarga.

  • public PLTVirusScanResponse scan(PLTFileHandlerObj fileObject)

    Se llama sólo durante las operaciones de carga para habilitar la exploración del archivo escrito en un directorio temporal.

Codificación/decodificación de archivos

Los archivos que se suben se pueden codificar antes de que se transfieran a una carpeta del servidor temporal como parte del proceso de carga. Estos archivos se codifican mediante los objetos de la interfaz IFileEncoderDecoder, que tiene dos métodos (encode y decode). Se proporciona una implementación predeterminada para esta interfaz. Utilice la propiedad sc.file.upload.encoder del archivo yfs.properties para conectar el codificador/descodificador.
Nota: El codificador predeterminado aumenta los tamaños de archivo de forma significativa.

A continuación se muestra información básica sobre cada método. Para obtener más información, consulte el Javadoc.

  • public void encode(InputStream iStream, OutputStream oStream)

    Codifica la corriente de entrada y la coloca en la corriente de salida. Se llama durante la subida del archivo.

  • public void decode(InputStream iStream, OutputStream oStream)

    Decodifica la corriente de entrada y la coloca en la corriente de salida. Se llama durante la bajada del archivo.

Las operaciones de afectar y decodificación pueden afectar negativamente el rendimiento. Si no se ha establecido la propiedad sc.file.upload.encoder, se pasan por alto la codificación y la decodificación.

Compresión/descompresión de datos BLOB

Puede comprimir y descomprimir datos que se almacenan en columnas y tablas. El contenido del archivo real, almacenado como bytes en la tabla PLT_FILE_DATA, sigue este mecanismo al marcar la columna como CompressionSupported=true y UseCompression=true.