【问题标题】:AWS S3 - Block direct access to image URL but allow the Mobile APP to use itAWS S3 - 阻止对图像 URL 的直接访问,但允许移动应用程序使用它
【发布时间】:2017-01-21 12:03:54
【问题描述】:

大家好,

我正在使用 AWS S3 来存储一些通过 PHP 内置的 REST Api 从应用程序传入和传出的图像。

我的问题是,如果有办法阻止对 AWS 上的 URL 图像的直接访问,但允许在应用程序进行 de Api 调用时在应用程序上显示图像。

我知道我可以创建签名 URL,但我认为对于移动应用程序来说这不是一个好方法。

有什么帮助吗?

【问题讨论】:

  • 不可能 100% 可靠。不是每个人都会发送推荐人,这是您唯一需要检查的是否是直接/间接访问。
  • 但是必须有一种方法,也许不是在亚马逊方面,可以将用户的个人资料图片保密,不能通过 URL 直接访问,但可以在应用程序上使用,不是吗?
  • 如果它可以通过 url 访问,那么它可以从任何地方访问。如果你有一个 php 脚本来提供它,那么你刚刚移动了球门柱。现在你必须弄清楚如何保护对 php url 的访问,并且再次处于完全相同的位置。

标签: php api amazon-web-services amazon-s3


【解决方案1】:

使用签名 URL 是有条件地允许访问您的 S3 对象的唯一可靠方法。

如果您不想使用签名 URL,并且您的移动应用程序在所有请求中使用特定用户代理,您可以将存储桶策略添加到您的 S3 存储桶,仅允许使用您的目标用户代理访问用户。

请参阅aws:UserAgent 字符串条件和以下 AWS 文档:

http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys

http://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 2011-08-11
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多