Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 限制对回形针的访问:S3中的原始文件_Ruby On Rails 3_Amazon S3_Paperclip_Restriction - Fatal编程技术网

Ruby on rails 3 限制对回形针的访问:S3中的原始文件

Ruby on rails 3 限制对回形针的访问:S3中的原始文件,ruby-on-rails-3,amazon-s3,paperclip,restriction,Ruby On Rails 3,Amazon S3,Paperclip,Restriction,如何限制对S3中的:原始样式文件的访问,但保留对bucket中其他样式文件夹的访问 我看到了如何限制所有访问,然后检查模型属性的实现。我只想限制对:原始样式的访问 我注意到在回形针中,我只是不知道如何使用(如果可能)您可以通过控制器的操作访问文件来限制文件。通过这种方式,您可以控制用户可以访问哪些文件,哪些不可以 如果你只是做一个私密的s3桶,这对你没有帮助。因为拥有有效密钥的用户可以访问bucket中的任何文件。如果您确实有需要保护的文件,您只能查看方法(我认为): 限制对bucket的访问

如何限制对S3中的
:原始
样式文件的访问,但保留对bucket中其他样式文件夹的访问

我看到了如何限制所有访问,然后检查模型属性的实现。我只想限制对
:原始
样式的访问


我注意到在回形针中,我只是不知道如何使用(如果可能)

您可以通过控制器的操作访问文件来限制文件。通过这种方式,您可以控制用户可以访问哪些文件,哪些不可以

如果你只是做一个私密的s3桶,这对你没有帮助。因为拥有有效密钥的用户可以访问bucket中的任何文件。如果您确实有需要保护的文件,您只能查看方法(我认为):

  • 限制对bucket的访问,并通过控制器的操作提供文件(没有真正的解决方法)
  • 将特定文件重命名为不易预测的文件(例如,32个或更多的数字和字母字符)。这很容易实现,您仍然可以直接从s3提供文件
  • 将文件保存到其他地方(可能在其他s3存储桶中),这样就没有人可以预测它们了

对于重命名文件,您可以使用此stackoverflow问题:

我正在寻找的答案(我想,还没有测试过)可以在这里找到


如果文件是通过URL直接访问的,这将没有帮助。如果您确实想控制对文件的访问,则必须停止直接访问。你使用amazon s3吗?是的s3,忘了在问题中添加这一点也许这是一个解决方案Nick问题的关键是回形针自己创建:原始文件夹,并授予其公共访问权限。通过aws更改每个模型的限制是一件痛苦的事情,而且不适用于创建的新模型。我只希望原始图像要么被阻止,要么作为替代重命名,这样就没有人能预测它(我会做一些随机的事情)
s3_permissions: This is a String that should be one of the "canned" access policies that S3 provides (more information can be found here: docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?RESTAccessPolicy.html) The default for Paperclip is :public_read.
You can set permission on a per style bases by doing the following:
:s3_permissions => {
  :original => :private
}
Or globaly:
:s3_permissions => :private