我们正在编写一项功能,允许我们的用户将诸如 Word 文档、Excel 电子表格、图片、pdf 之类的内容“附加”到我们应用程序中的文档中——就像电子邮件一样。
但是,我们不希望允许他们附加 .exe、.bat、.reg 文件或其他任何可能在他们打开文件时对他们造成伤害的文件 - 因此我们建议将允许的文件类型列入白名单。
有谁知道确定文件是否安全的更好方法?(即没有能力损害用户的计算机)。或者取而代之的是一个资源,它会给我们一个常用安全文档的列表,作为默认值添加到我们的白名单中?
我们正在编写一项功能,允许我们的用户将诸如 Word 文档、Excel 电子表格、图片、pdf 之类的内容“附加”到我们应用程序中的文档中——就像电子邮件一样。
但是,我们不希望允许他们附加 .exe、.bat、.reg 文件或其他任何可能在他们打开文件时对他们造成伤害的文件 - 因此我们建议将允许的文件类型列入白名单。
有谁知道确定文件是否安全的更好方法?(即没有能力损害用户的计算机)。或者取而代之的是一个资源,它会给我们一个常用安全文档的列表,作为默认值添加到我们的白名单中?
Word宏病毒呢?没有一种“安全”的文档类型。如果有人将 .exe 文件重命名为 .doc 怎么办?这是否允许?不要只依赖文件类型或名称,也不要只相信客户输入。如果可能的话,在服务器端验证它,很可能使用防病毒程序或其他一些已知的实用程序。
您可以使用白名单加上 AssocIsDangerous ( http://msdn.microsoft.com/en-us/library/bb773465(VS.85).aspx ) 的结果来确定是否应允许该文件。附加文件的白名单没有警告,AssocIsDangerous 完全阻止,其余的可以获得默认的警告对话框。
请注意白名单,因为复杂文档可能包含宏,并且其关联的应用程序可能在其解析器中包含安全漏洞。
使用反向代理设置,例如
www <-> HAVP <-> 网络服务器
HAVP ( http://www.server-side.de/ ) 是一种通过 ClamAV 或任何其他商业防病毒软件扫描 http 流量的方法。它将阻止用户下载受感染的文件。如果您需要 https 或其他任何东西,那么您可以将另一个反向代理或 Web 服务器置于反向代理模式,以在 HAVP 之前处理 SSL
然而,它在上传时不起作用,因此它不会阻止文件存储在服务器上,但会阻止文件被下载并因此传播。因此,将它与常规文件扫描(例如 clamscan)一起使用。
老实说,我认为 Linux 上的 Clam AV 或 Windows 上的 Trend Micro 最适合你。