我们目前使用blobstore来处理用户上传(并且可能会转移到GCS)。我们的解决方案允许用户上传文件,但我最近发现用户可能会有意或无意地上传病毒。为了减轻这种风险,我考虑将文件类型限制为图像和/或pdf(这样会检查服务器端)。这是否会阻止病毒上传,或者我们是否应该在文件上传后对文件执行病毒扫描? 如果运行病毒扫描,是否有一个简单的解决方案可以使用GAE执行此操作,还是需要一个单独的云计算实例来运行它自己的病毒扫描?
由于 罗布
答案 0 :(得分:2)
每当您委派将对象上传到不受信任的客户端的权限时,客户端或冒充客户端的恶意代码都可能会上传恶意内容。据我所知,谷歌App Engine的Blobstore服务和谷歌云存储都不提供病毒扫描作为服务,所以你必须自带。限制文件类型实际上并不会抑制上传的不良内容,因为某些浏览器会在嗅探文件内容并呈现或执行恶意对象后忽略所声明的文件类型。
如果您想自己进行Google云端存储上传,最佳做法是将上传限制为拥有私有ACL,执行您想要的任何清理,并在确定有效时,将ACL更改为允许更广泛的权限。
/ via Vinny P: 您可以通过编程方式使用在线病毒扫描工具,也可以在计算引擎或App Engine Flexible Environment上运行防病毒引擎。或者,如果这些文件应该是25 MB以下的用户拥有文件,则可以upload the files to Google Drive提供病毒扫描,retrieve the files via the Drive API。