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