1

我可能会问一个愚蠢的问题,但我试图了解我需要采取的必要安全预防措施,以允许用户将图像(png、jpg、gif)上传到 S3,并通过在 ec2 上为 facebook 托管的绝对 url 提供它帆布。我将存储桶名称和文件名存储在 RDS 中,并计划通过调用画布中的绝对地址来显示图像。

我意识到,对于图片上传,至少需要检查:1)文件类型(jpg、png、gif),2)文件大小(< 5 mb),3)mime 类型?

我的问题是,由于文件存储在 s3 上,并且服务器上只有文件名和存储桶名称,是否需要额外的安全预防措施?我在其他地方读到我应该通过 gd 或 imagemagick 运行它并调整大小等,我担心这可能会过度杀伤和税收服务器资源。我意识到文件上传安全非常困难,任何帮助将不胜感激。

先感谢您。

4

1 回答 1

0

我建议不要像你说的那样通过 GD 和 Imagemagick 运行它,因为系统使用和只是不必要的进程。S3真的很快。尤其是来自亚马逊系统上的另一个盒子。我最终调整了图形的大小,因为我们不需要它们那么大,而且我们不想为存储大图像付费,但这不是安全问题,只是 $$/payment 问题。

安全并不难。如果您的 Facebook 应用程序引用了您的 EC2 实例,则不需要任何安全性。您的服务器代码/应用程序将执行写入权限。当您使用 S3 对象(如果这是在 PHP 中)上传图像时,您只需在上传时设置文件的权限。

我有一堆 Facebook 应用程序可以毫无问题地将图像发布到 S3。这是一个伟大的架构,运作良好。

于 2012-07-04T06:39:44.327 回答