【问题标题】:How would I display an image from s3 on a webpage in my flask app without saving it?如何在我的烧瓶应用程序的网页上显示来自 s3 的图像而不保存它?
【发布时间】:2019-08-22 04:43:11
【问题描述】:

我有一个运行烧瓶网站的 ec2 实例,只有当某个用户登录该站点并将其显示在主页上时,我才想从 s3 获取某个图像。该图像可以在 ec2 实例上使用 cli 工具下载,但我不想将其保存到硬盘。我想保持到 s3 中对象的直接链接私有。

基本上,我可以做点什么like what this user is doing,而是将文件传递到模板中并显示它吗?

【问题讨论】:

  • 如果我不希望用户能够相互共享预签名的网址怎么办?
  • 用户不分享任何东西。如果您希望用户访问 S3 中的图像,您可以在您的应用中生成一个预签名 URL,并在您的应用中显示该链接,以便用户查看/下载它。
  • 对,我担心的是用户可以简单地从页面源复制该预签名的 url,或者通过右键单击并选择“复制图像地址”并将其通过电子邮件发送给他的好友。还是我误会了什么?

标签: python amazon-s3 flask


【解决方案1】:

CloudFront signed cookies 可用于提供私有内容。 可以通过以下方式防止滥用 Cookie:

  • 加密 cookie
  • 使用自定义策略并包含查看器的 IP 地址。
  • 根据您希望用户访问您的内容的时间长度来指定最短的合理到期时间。

不要忘记创建Origin Access Identity (OAI) 以授予 Cloudfront 访问存储桶的必要权限。

【讨论】:

    猜你喜欢
    • 2020-09-14
    • 2019-09-22
    • 2015-03-02
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 2019-12-29
    • 2021-11-09
    • 1970-01-01
    相关资源
    最近更新 更多