Сканирование файла умножает антивирусы

Проблема в том, что нулевые байты не могут передаваться через аргументы командной строки, поскольку они используются внутри как терминаторы аргументов. Все остальные байты вроде в порядке. Таким образом, несколько более компактной (обычно) альтернативой использованию base64 было бы экранирование нулевых байтов, а затем использование printf для преобразования данных в исходную форму:

pngString="$(sed 's/\\/\\\\/g;s/%/%%/g;s/\x00/\\x00/g' <example.png)"
printf "$pngString" >tmp.png

\ и % символы являются специальными для printf , поэтому их тоже нужно экранировать.

Также обратите внимание, что если входные данные заканчиваются новой строкой, они будут удалены при подстановке команд. Это не должно быть проблемой специально для PNG, поскольку последний байт в допустимом PNG должен иметь значение 0x82, младший байт в сумме CRC пустого блока IEND .

1
02.03.2014, 03:52
1 ответ

a) Могу ли я сканировать один и тот же файл одновременно несколькими антивирусами одновременно время?

Да, вы должны иметь возможность сканировать файлы одновременно. Единственная проблема заключается в том, что ваш сервер может обрабатывать нагрузку нескольких сканеров, работающих одновременно. Я мог бы делать 2 или 3 из них за раз, просто чтобы ограничить количество вещей.

б) Должен ли я запускать каждый антивирус только тогда, когда он нужен (пользователь загрузил файл, и его нужно сканировать), и должны ли они работать все время в фоновом режиме? Если второй вариант, не будут ли они конфликтовать друг с другом?

c) В случае, если нужно просканировать больше файлов, следует ли мне запускать новый антивирус процесса для каждого файла или я могу «поставить в очередь» файлы для каждого антивируса?

Я бы предпочел сканировать их по запросу, то есть сканировать их каждый раз при загрузке файла, просто чтобы распределить нагрузку, при условии, что вы не получаете тонны загрузок файлов. Если это ситуация с большим объемом, я бы немного изменил тактику и сканировал их в определенное время дня.

В зависимости от того, как вы структурируете сканирование, вам, вероятно, придется отложить предоставление файлов до завершения этапа сканирования.

3
27.01.2020, 23:28

Теги

Похожие вопросы