Безопасность для загрузки файлов в Java - PullRequest
2 голосов
/ 08 декабря 2011

У меня есть веб-приложение, использующее сервлеты Java, в которое пользователь может загружать файлы.Что я могу сделать, чтобы предотвратить загрузку вредоносных файлов и вирусов?

Ответы [ 3 ]

2 голосов
/ 08 декабря 2011

Команда ClamAV Antivirus предоставляет очень простой интерфейс для интеграции clamd демона в ваши собственные программы.Он основан на сокетах, а не на API, поэтому вам может потребоваться написать несколько удобных оберток, чтобы они выглядели «естественными» в вашем коде, но в итоге им не нужно поддерживать дюжину или более языковых привязок.

0 голосов
/ 09 декабря 2011

Вам также необходимо защитить от Path Traversal (чтобы пользователи не могли загружать файлы в место, к которому они не принадлежат, например, перезаписывать файл JAR в пути к классам или DLL в пути)

0 голосов
/ 08 декабря 2011

В качестве альтернативы, если у вас достаточно доступа к рассматриваемому компьютеру, вы можете просто вызвать приложение командной строки, чтобы выполнить сканирование. Существует достаточно информации о запуске приложений командной строки, и большинство, если не все локально установленные virusscanner имеют опцию командной строки. Преимущество этого заключается в том, что не каждый IP-пакет должен проходить через сканер (но вам придется читать и анализировать выходные данные virusscanner). Это также гарантирует, что вы получили информацию, доступную в вашем приложении Java, чтобы вы могли предупредить пользователя.

...