2008-10-18 8 views
6

Mi aplicación se ocupa de correos electrónicos provenientes de diferentes fuentes, p. Buzones de correo de Outlook e IMAP. Antes de analizarlos, los escribo en el directorio temporal (mantenerlos en la memoria no es una opción). Durante el análisis, es posible que esté escribiendo archivos adjuntos en el directorio temporal (por ejemplo, si son demasiado grandes para guardarlos en la memoria o para la extracción de texto completo).Escáneres de virus que bloquean y eliminan archivos temporales: ¿la mejor forma de lidiar con ellos?

Pero en la naturaleza, ocurren dos cosas que parecía muy extraño en el primer lugar, pero todo podría remontarse a un comportamiento explorador de virus:

  • estoy veces no se puede abrir ficheros que he me escribí hace unos milisegundos. Obviamente, están bloqueados por escáneres de virus para garantizar que estén limpios. Recibo una excepción.

  • Si el analizador de virus considera que los archivos son peligrosos, los elimina en algún momento.

Para hacer frente a este comportamiento, he escrito algunos métodos que intentan de nuevo si falla abierta o hacer algunas comprobaciones si existen archivos, pero soy incapaz de utilizarlos en cada parte de la aplicación (tercera código de la fiesta, por ejemplo filtros), así que las cosas mejoraron, pero no fueron 100% perfectas y mi código fuente se ve feo en algunas partes debido a esto.

¿Cómo lidiar con los escáneres de virus?

Respuesta

1

Escriba sus archivos con cifrado. Creo que no necesitarías nada demasiado complicado o complicado. También encripte o elimine los nombres de los archivos, ya que el escáner de virus también podría desencadenarse.

+0

Una solución pragmática que vale la pena considerar. Lamentablemente, algunos archivos están escritos por bibliotecas de terceros que no pueden escribir en las transmisiones, pero podrían tratarse de otra manera. No resuelve los problemas con los escáneres de virus que bloquean archivos. –

+1

Hay formas de "enganchar" el proceso de escritura de archivos para que incluso las bibliotecas de terceros escriban encriptadas. Quizás incluso al dejar los identificadores de archivo abiertos para evitar que los escáneres de virus indiquen que ya terminaste de trabajar con el archivo. –

-1

El escáner de virus tiene carpetas excluidas. Solo mira en la documentación y agrega tu carpeta temporal a esta lista.

+0

Es una aplicación de envoltura retráctil, no interna. Podría decirles eso a mis usuarios, pero ellos lo ignorarían o no lo leerían. –

0

Por lo general, debe excluir los archivos de filtrado de correo del escáner de virus y utilizar un programa antivirus de correo dedicado que se encuentre en la serie de tubos de correo entrante. Definitivamente, considere pedirles a los usuarios que desactiven la opción "eliminar archivos infectados" en su servidor de correo, de lo contrario, podrían perder la base de datos de correo: - /. Por ejemplo, aquí es cómo se puede configurar el sistema de pesos americano de ignorar Exchange: http://www.sophos.com/support/knowledgebase/article/12214.html Pero otra forma de verlo es que hay un virus en el archivo, por lo que es probable que no desee entregar todos modos ;-)

Se dijo que una respuesta anterior cambiaba los permisos de manera que solo su proceso puede acceder a los archivos. Eso no funcionará; cualquier AV que valga la pena se ejecutará en el kernel y puede acceder a los archivos de todos modos.

4

Si cambiar la configuración del escáner de virus no es la opción ideal para usted. ¿Podrías mantener el archivo abierto desde su creación hasta el final de tu proceso? Si tiene un control sobre el archivo, no estará disponible para el escáner de virus.

Cuestiones relacionadas