我正在尝试安全地为我的用户提供文件(在这种情况下是图像)。我想用烧瓶,最好是亚马逊s3这样做,但是如果需要,我会对另一个云存储解决方案开放。
我已经设法在s3上获取我的烧瓶静态文件,如css等,但这都是非安全的。所以拥有链接的每个人都可以打开静态文件。这显然不是我想要的安全内容。我似乎无法弄清楚如何使文件可用于“拥有”该文件的经过身份验证的用户。
例如:当我登录我的保管箱帐户并复制随机文件的下载链接时。然后转到另一台计算机并使用此链接它将拒绝我访问。即使我仍然登录,并且下一个PC上的用户可以使用下载链接。
答案 0 :(得分:1)
向Flask应用程序发出请求,该应用程序将对用户进行身份验证,然后向S3对象发出重定向。诀窍是重定向应该是一个签名的临时URL,该URL在一分钟左右到期,因此不能保存并在以后或其他人使用。
您可以在Flask应用中使用boto.s3.key.generate_url
功能来创建临时网址。