二进制文件的病毒扫描——Blob与文件的区别

11

关于使用Blob和文件来存储二进制文件的问题在SO上已经有很多讨论了,但我现在面临的问题是病毒扫描。可能有许多API可用于扫描保存在文件系统中的文件。那么有没有针对Blob的API呢?有没有可以接受流或byte[]并告知其进行病毒和恶意软件扫描的API?如果有的话,是否有任何推荐?还是这又是一个避免使用Blob的理由?

提醒一下 - 我目前正在使用C#和MongoDb处理我的Blob。


你是否在寻找免费、开源或商业防病毒API? - M.Babcock
任何一种都可以——只要它们能够工作... - carlbenson
3个回答

5

我需要一个与问题相关的解决方案。我评估了很多东西,得出结论,真的没有一个好的.NET库可以解决这个问题。所以我自己开发了一个。

这个库叫做nClam,它连接到一个ClamAV服务器。它是一个开源(Apache许可证2.0)的库,具有非常简单的API。你可以在这里获取它:https://github.com/tekmaven/nClam。也有一个NuGet包:nClam。我还在我的博客上提供了一些关于如何设置ClamAV服务器的说明,在这里:http://architectryan.com/2011/05/19/nclam-a-dotnet-library-to-virus-scan/


你能在Windows Server 2008上安装ClamAV服务器吗?ClamAV如何在我的服务器上维护病毒更新?我在那台服务器上运行了一个Web应用程序,它具有上传功能。在将其发送到文件服务器之前,我需要扫描文件流。 - Diganta Kumar

3

我不知道是否存在用于扫描内存数据的API(我没有找到任何),但您可以将二进制数据放入临时文件中,通过调用在命令行中工作的外部程序扫描该文件,并在完成后删除它。


3
当然,Sophos的API(SAVI)可以扫描任意内存缓冲区 - 您可以提供回调来访问数据,因此可以是您可以访问的任何数据。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接