【发布时间】:2021-07-25 21:43:34
【问题描述】:
我的应用上有附件功能。用户可以使用 Slingshot 将文档上传到 S3,然后单击一个按钮,该按钮会打开一个模式和一个显示附件的轮播。
来自 S3 的 downloadUrls 存储在 Mongo 中,我有一个模板助手将它们吐出,然后 each 将它们放入轮播中。实际上,这一切都非常流畅。
但是,我想使用签名 URL 来提高安全性。我的问题是单击按钮以显示模式实际上每次都会创建一个子模板。这个子模板然后调用一个方法来创建和返回签名的 url。这效率不高。
理想情况下,我希望模态和轮播保持反应性。这样用户就可以上传一个新文档,然后在不刷新页面的情况下查看它。但是——同时,我不想再辞去一堆文件。
我采用的是使用 Session Var 的方法,然后在 url 之间进行比较以查看它们是否已更改。但这似乎不对。我必须注意,浏览器确实将这些上传缓存在轮播中(它们主要是图像)。所以我不太关心实际签名网址的过期时间。
有什么想法吗?我已经阅读了一些关于使用 timefreeze 来早于签名的 url 的模式。所以你只有在超过过期日期时才重新创建。但是,这种模式仍然会调用 md 服务器端并仍然执行 s3.getSignedUrl fn..
谢谢!
【问题讨论】:
-
如果我们看到您现在拥有的代码,会更容易提出建议。模态通常不会重新创建,而只是隐藏和显示。还是您希望它在会话之间保留?
标签: javascript node.js security amazon-s3 meteor