【问题标题】:Is virus scanning files during upload into SQL via HttpHandler or HttpModule a bad idea?通过 HttpHandler 或 HttpModule 上传到 SQL 期间的病毒扫描文件是一个坏主意吗?
【发布时间】:2013-07-31 05:32:20
【问题描述】:

我们正在实施一个 COTS 包,它允许您将文件从胖客户端(通过 HTTP Web 服务)上传到 SQL 2008,其中文件存储在 VarBinary(Max) 中。该解决方案将在基于 Microsoft 的环境中运行。

我们需要在上传过程中“对文件进行病毒扫描”。

我想知道从 HttpHandler 或 HttpModule 调用 API 是否是一个坏主意(甚至可行)。以前有人做过吗?

【问题讨论】:

  • 将文件存储在文件系统上并仅将其路径保留在数据库中更为常见。这样,当您的 AV 检测到任何线程时,您的 AV 将在文件被复制到磁盘时立即扫描文件,并且您可以防止将其路径存储在 DB 中。
  • @Farzan - COTS 系统不能这样工作,所以只有让他们修改系统的工作方式才能成为一种选择。

标签: sql-server-2008 httphandler httpmodule antivirus antivirus-integration


【解决方案1】:

每个支持批处理模式的防病毒软件都应该可以做到这一点,例如如何在服务器上使用 Security Essentials:

Use Microsoft Security Essentials in C# when downloading email attachment

我对此的唯一说明是有一个待处理文件队列并从队列中一个接一个地处理文件,这样您在处理并发请求时就不会运行更多的防病毒实例。这可能会降低您的服务器速度。

【讨论】:

  • 谢谢。我猜这种方法隐藏了很多细节。问题:当您说队列时,您是在暗示一种异步方法吗?理想情况下,我想将此扫描插入现有流程,这样我们就不会影响 COTS 包当前的工作方式(假设扫描可能会使“上传”花费更长的时间)。
  • 队列是指一个单独的队列,其中项目被逐个扫描,因此两个或多个扫描永远不会同时发生。
猜你喜欢
  • 2013-09-13
  • 2010-10-02
  • 2010-10-13
  • 1970-01-01
  • 1970-01-01
  • 2012-03-27
  • 1970-01-01
  • 1970-01-01
  • 2011-05-30
相关资源
最近更新 更多