当前位置: 首页 > 知识库问答 >
问题:

用户使用carrierwave上传图像文件的适当s3权限

卢枫涟
2023-03-14

在Michael Hartl的The Rails教程第11章的结尾,我通过创建存储桶、使用IAM设置用户并授予用户Amazon S3FullAccess策略,成功地启用了用户上传到Amazon S3服务。允许我网站上的未知用户完全访问存储桶以在我的网站上上传图像,这感觉很脏而且非常不安全,我不确定我是否应该有这种感觉。我在

  • http://awspolicygen.s3.amazonaws.com/policygen.html

具体如下:

   {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "Stmt1445501067518",
          "Action": [
            "s3:GetObject",
            "s3:PutObject"
          ],
          "Effect": "Allow",
          "Resource": "arn:aws:s3:::bucketname"
        }
      ]
   }

我对我的解决方案没有信心,也无法在谷歌上找到解决这个问题的最佳方法。我正在使用carrierwave(打算在我自己的项目中直接使用carrierwave_)、fog和mini_magick gems。

共有1个答案

万俟炯
2023-03-14

允许用户将文件上传到您的站点(即S3)的最好、可能也是最安全的方法是使用基于浏览器的上传后操作。

这允许用户直接上传到S3,而无需通过您的服务器。在您的服务器上,您只需使用访问密钥创建请求签名。

您可以在这里阅读更多信息:使用Post进行基于浏览器的上传

我自己不熟悉Carrierwave,但您可能会发现这很有用:在rails中直接上传到S3

 类似资料:
  • 我在后台工作中使用Rails和Carrierwave将许多小文件上传到S3,并且达到了S3的速率限制。我现在的想法是在每次上传之前都放一个睡眠0.1,但这似乎不是一个很好的解决方案。 关于如何通过S3API和某种类型的回退来处理这个问题,有什么建议吗? 正在进行上载的Ruby代码,此方法在循环中被调用数千次: 上载程序类 AWS的回应 编辑 链接的AWS文档引用了前缀,这似乎可以解决问题 Amaz

  • 问题内容: 对不起这个基本问题-我是.NET开发人员,对LAMP设置没有太多经验。 我有一个PHP网站,该网站将允许上传到特定文件夹。有人告诉我,该文件夹必须由网络服务器用户拥有,才能进行上载过程,因此我创建了该文件夹,然后将权限设置为: 现在唯一的问题是FTP用户根本无法修改上传的文件。 是否有允许我仍然上传文件,然后再以Web服务器用户以外的用户身份修改文件的权限设置? 问题答案: 您可以创建

  • 问题内容: 我正在使用Chrome驱动程序使用nightwatch.js运行前端测试。我需要测试图像上传是否正常工作,大概是通过提供的文件输入来进行的,因为在成功发布后会运行回调。 我知道可以使用Selenium Web驱动程序的sendKeys方法来完成。 您如何使用javascript和nightwatch.js完成此操作?您可以访问Selenium Webdriver或与其相关的界面吗? 问

  • 问题内容: 我正在尝试使用将图片上传到亚马逊s3 ,但出现此错误: TypeError:预期opts.s3为对象node_modules / multer-s3 / index.js:69:20 这是我的服务器代码: 为什么我收到此错误? 问题答案: 完成 并正常工作的Node Cheat | 使用multer-s3上传到s3 。 码: 对于完整的回购 : 克隆node-cheat express

  • 问题内容: 我想执行与base64 photo和paperclip -Rails类似的操作,但要使用Carrierwave。有人可以解释一下我在Carrierwave中使用base64图像吗? 问题答案:

  • 我必须文件上传操作连续,第一个图像像gif|jpg|jpeg|png|svg和第二个psd|rar|zip|doc|word|txt|xlsx|pdf第一个工作正常,我可以上传所有图像,但第二个,我不能上传任何这些类型但当我尝试上传图像在第二段它的作品。